EN
PHP - detect http request type in PHP (GET, POST, PUT, DELETE)
10
points
In this article, we would like to show you how to detect the request method in PHP.
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: