PHP Form Processing

In this article, we will discuss how to process form in PHP. HTML forms are used to send the user information to the server and returns the result back to the browser. For example, if you want to get the details of visitors to your website, and send them good thoughts, you can collect the user information by means of form processing. Then, the information can be validated either at the client-side or on the server-side. The final result is sent to the client through the respective web browser. To create a HTML form, form tag should be used.

Attributes of Form Tag:

Attribute Description
name or id It specifies the name of the form and is used to identify individual forms.
action It specifies the location to which the form data has to be sent when the form is submitted.
method It specifies the HTTP method that is to be used when the form is submitted. The possible values are get and post. If get method is used, the form data are visible to the users in the url. Default HTTP method is get.
encType It specifies the encryption type for the form data when the form is submitted.
novalidate It implies the server not to verify the form data when the form is submitted.

Controls used in forms: Form processing contains a set of controls through which the client and server can communicate and share information. The controls used in forms are:

  • Textbox: Textbox allows the user to provide single-line input, which can be used for getting values such as names, search menu and etc.
  • Textarea: Textarea allows the user to provide multi-line input, which can be used for getting values such as an address, message etc.
  • DropDown: Dropdown or combobox allows the user to provide select a value from a list of values.
  • Radio Buttons: Radio buttons allow the user to select only one option from the given set of options.
  • CheckBox: Checkbox allows the user to select multiple options from the set of given options.
  • Buttons: Buttons are the clickable controls that can be used to submit the form.

Creating a simple HTML Form: All the form controls given above is designed by using the input tag based on the type attribute of the tag. In the below script, when the form is submitted, no event handling mechanism is done. Event handling refers to the process done while the form is submitted. These event handling mechanisms can be done by using javaScript or PHP. However, JavaScript provides only client-side validation. Hence, we can use PHP for form processing.

HTML Code:



filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html>
<html>
  
<head>
    <title>Simple Form Processing</title>
</head>
  
<body>
    <form id="form1" method="post">
        FirstName:
        <input type="text" name="firstname" required/>
        <br>
        <br
        LastName
        <input type="text" name="lastname" required/>
        <br>
        <br
        Address
        <input type="text" name="address" required/>
        <br>
        <br
        Email Address:
        <input type="email" name="emailaddress" required/>
        <br>
        <br
        Password:
        <input type="password" name="password" required/>
        <br>
        <br>
        <input type="submit" value="Submit”/>
    </form>
</body>
</html>

chevron_right


Form Validation: Form validation is done to ensure that the user has provided the relevant information. Basic validation can be done using HTML elements. For example, in the above script, the email address text box is having a type value as “email”, which prevents the user from entering the incorrect value for an email. Every form field in the above script is followed by a required attribute, which will intimate the user not to leave any field empty before submitting the form. PHP methods and arrays used in form processing are:

  • isset(): This function is used to determine whether the variable or a form control is having a value or not.
  • $_GET[]: It is used the retrieve the information from the form control through the parameters sent in the URL. It takes the attribute given in the url as the parameter.
  • $_POST[]: It is used the retrieve the information from the form control through the HTTP POST method. IT takes name attribute of corresponding form control as the parameter.
  • $_REQUEST[]: It is used to retrieve an information while using a database.

Form Processing using PHP: Above HTML script is rewritten using the above mentioned functions and array. The rewritten script validates all the form fields and if there are no errors, it displays the received information in a tabular form.

  • Example:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    <?php
    if (isset($_POST['submit']))
    {
        if ((!isset($_POST['firstname'])) || (!isset($_POST['lastname'])) || 
            (!isset($_POST['address'])) || (!isset($_POST['emailaddress'])) || 
            (!isset($_POST['password'])) || (!isset($_POST['gender'])))
        {
            $error = "*" . "Please fill all the required fields";
        }
        else
        {
            $firstname = $_POST['firstname'];
            $lastname = $_POST['lastname'];
            $address = $_POST['address'];
            $emailaddress = $_POST['emailaddress'];
            $password = $_POST['password'];
            $gender = $_POST['gender'];
        }
    }
    ?>
    <html>
      
    <head>
        <title>Simple Form Processing</title>
    </head>
      
    <body>
        <h1>Form Processing using PHP</h1>
        <fieldset>
            <form id="form1" method="post" action="form.php">
                <?php
                    if (isset($_POST['submit']))
                    {
                        if (isset($error))
                        {
                            echo "<p style='color:red;'>" 
                            . $error . "</p>";
                        }
                    }
                    ?>
      
                    FirstName:
                    <input type="text" name="firstname"/> 
                     <span style="color:red;">*</span>
                    <br>
                    <br>
                    Last Name:
                    <input type="text" name="lastname"/>
                      <span style="color:red;">*</span>
                    <br>
                    <br> 
                    Address:
                    <input type="text" name="address"/>
                      <span style="color:red;">*</span>
                    <br>
                    <br> 
                    Email:
                    <input type="email" name="emailaddress"/>
                      <span style="color:red;">*</span>
                    <br>
                    <br> 
                    Password:
                    <input type="password" name="password"/>
                       <span style="color:red;">*</span>
                    <br>
                    <br> 
                    Gender:
                    <input type="radio" 
                           value="Male" 
                           name="gender"> Male
                    <input type="radio" 
                           value="Female"
                           name="gender">Female
                    <br>
                    <br>
                    <input type="submit" value="Submit" name="submit" />
            </form>
        </fieldset>
        <?php
           if(isset($_POST['submit']))
           {
              if(!isset($error))
               {
                       echo"<h1>INPUT RECEIVED</h1><br>";
                       echo "<table border='1'>";
                       echo "<thead>";
                       echo "<th>Parameter</th>";
                       echo "<th>Value</th>";
                       echo "</thead>";
                       echo "<tr>";
                       echo "<td>First Name</td>";
                       echo "<td>".$firstname."</td>";
                       echo "</tr>";
                       echo "<tr>";
                       echo "<td>Last Name</td>";
                       echo "<td>".$lastname."</td>";
                       echo "</tr>";
                       echo "<tr>";
                       echo "<td>Address</td>";
                       echo "<td>".$address."</td>";
                       echo "</tr>";
                       echo "<tr>";
                       echo "<td>Email Address</td>";
                       echo "<td>" .$emailaddress."</td>";
                       echo "</tr>";
                       echo "<tr>";
                       echo "<td>Password</td>";
                       echo "<td>".$password."</td>";
                       echo "</tr>";
                       echo "<tr>";
                       echo "<td>Gender</td>";
                       echo "<td>".$gender."</td>";
                       echo "</tr>";
                       echo "</table>";
            }
          }
        ?>
    </body>
      
    </html>

    chevron_right

    
    

  • Output:

Note: When the PHP and HTML are coded in a single file, the file should be saved as PHP. In the form, the value for the action parameter should be a file name.

full-stack-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.