Open In App

HTTP GET and POST Methods in PHP

In this article, we will know what HTTP GET and POST methods are in PHP, how to implement these HTTP methods & their usage, by understanding them through the examples.

HTTP: The Hypertext Transfer Protocol (HTTP) is designed to enable communications between clients and servers. HTTP works as a request-response protocol between a client and server. A web browser may be the client, and an application on a computer that hosts a website may be the server. A client (browser) submits an HTTP request to the server; then the server returns a response to the client. The response contains status information about the request and may also contain the requested content.



There are 2 HTTP request methods:

We will understand both these methods in detail through the examples.



GET Method: In the GET method, the data is sent as URL parameters that are usually strings of name and value pairs separated by ampersands (&). In general, a URL with GET data will look like this:

Example: Consider the below example:

http://www.example.com/action.php?name=Sam&weight=55 

Here, the bold parts in the URL denote the GET parameters and the italic parts denote the value of those parameters. More than one parameter=value can be embedded in the URL by concatenating with ampersands (&). One can only send simple text data via GET method.

Example: This example illustrates the HTTP GET method in PHP.




<?php
  error_reporting(0);
  if( $_GET["name"] || $_GET["weight"] )
  {
      echo "Welcome ". $_GET['name']. "<br />";
      echo "You are ". $_GET['weight']. " kgs in weight.";
      exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="GET">
    Name: <input type="text" name="name" />
    Weight:<input type="text" name="weight" />
           <input type="submit" />
  </form>
</body>
</html>

Output:

GET() method

Advantages:

Disadvantages:

POST Method: In the POST method, the data is sent to the server as a package in a separate communication with the processing script. Data sent through the POST method will not be visible in the URL. 

Example: Consider the below example:

POST /test/demo_form.php HTTP/1.1 
Host: gfs.com 
SAM=451&MAT=62 

The query string (name/weight) is sent in the HTTP message body of a POST request.

Example: This example illustrates the HTTP POST method in PHP. Here, we have used the preg_match() function to search string for a pattern, returns true if a pattern exists, otherwise returns false.




<?php
   error_reporting(0);
   if( $_POST["name"] || $_POST["weight"] )
      {
        if (preg_match("/[^A-Za-z'-]/",$_POST['name'] ))
         {
           die ("invalid name and name should be alpha");
        }
      echo "Welcome ". $_POST['name']. "<br />";
      echo "You are ". $_POST['weight']. " kgs in weight.";
      exit();
         }
?>
<html>
<body>  
  <form action = "<?php $_PHP_SELF ?>" method = "POST">
     Name: <input type = "text" name = "name" />
     Weight: <input type = "text" name = "weight" />
             <input type = "submit" />
  </form>
</body>
</html>

Output:

POST() method

Advantages:

Disadvantages:

Please refer to the Difference between HTTP GET and POST Methods article for the differences between them in detail.


Article Tags :