EN
PHP - how to detect http request type in PHP (GET, POST, PUT, DELETE)
10
points
In PHP it is possible to detect request method in following way.
1. Server request method parameter example
backend.php
file:
<?php
$method = $_SERVER['REQUEST_METHOD'];
function parseInput()
{
$data = file_get_contents("php://input");
if($data == false)
return array();
parse_str($data, $result);
return $result;
}
switch ($method)
{
case 'GET':
echo "GET request method\n";
echo print_r($_GET, true);
break;
case 'POST':
echo "POST request method\n";
echo print_r($_POST, true);
break;
case 'PUT':
$_PUT = parseInput();
echo "PUT request method\n";
echo print_r($_PUT, true);
break;
case 'DELETE':
$_DELETE = parseInput();
echo "DELETE request method\n";
echo print_r($_DELETE, true);
break;
default:
echo "Unknown request method.";
break;
}
Note:
$_PUT
and$_DELETES
arrays are not supported in php it meansphp://input
stream should be parsed.
ajax.htm
file:
<!doctype html>
<html lang="en">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<pre id="response"></pre>
<script>
var handle = document.getElementById('response');
$.ajax({
type: 'GET', // 'POST', 'PUT', 'DELETE'
url: '/backend.php',
data: {
name: 'John',
age: 25
},
success: function (data) {
handle.innerHTML = 'Response:\n' + data;
},
error: function(error) {
handle.innerText = 'Error: ' + error.status;
}
});
</script>
</body>
</html>
Note:
ajax.htm
andbackend.php
should be placed on php server both.
Result:



