Languages
[Edit]
EN

PHP - detect http request type in PHP (GET, POST, PUT, DELETE)

10 points
Created by:
Leen-Kerr
571

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 means php://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 and backend.php should be placed on php server both.

Result:

GET request method example in PHP
GET request method example in PHP - Google Chrome Developer Tools
POST request method example in PHP - Google Chrome Developer Tools
POST request method example in PHP - Google Chrome Developer Tools
PUT request method example in PHP - Google Chrome Developer Tools
PUT request method example in PHP - Google Chrome Developer Tools
DELETE request method example in PHP - Google Chrome Developer Tools
DELETE request method example in PHP - Google Chrome Developer Tools

References

  1. file_get_contents function - PHP Docs
  2. parse_str function - PHP Docs
  3. $_SERVER array - PHP Docs
  4. $_GET array - PHP Docs
  5. $_POST array - PHP Docs
  6. php://input stream - PHP Docs
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join