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:
$_PUTand$_DELETESarrays are not supported in php it meansphp://inputstream 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.htmandbackend.phpshould be placed on php server both.
Result: