PHP Validation Example

Required field will check whether the field is filled or not in the proper way. Most of cases we will use the * symbol for required field.

What is Validation ?

Validation means check the input submitted by the user. There are two types of validation are available in PHP. They are as follows −

·        Client-Side Validation − Validation is performed on the client machine web browsers.

·        Server Side Validation − After submitted by data, The data has sent to a server and perform validation checks in server machine.

Some of Validation rules for field

Field

Validation Rules

Name

Should required letters and white-spaces

Email

Should required @ and .

Website

Should required a valid URL

Radio

Must be selectable at least once

Check Box

Must be checkable at least once

Drop Down menu

Must be selectable at least once

Valid URL

Below code shows validation of URL

$website = input($_POST["site"]);

 

if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) {

   $websiteErr = "Invalid URL";

}

Above syntax will verify whether a given URL is valid or not. It should allow some keywords as https, ftp, www, a-z, 0-9,..etc..

Valid Email

Below code shows validation of Email address

$email = input($_POST["email"]);

 

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

   $emailErr = "Invalid format and please re-enter valid email";

}

Above syntax will verify whether given Email address is well-formed or not.if it is not, it will show an error message.

Example

Example below shows the form with required field validation

<html>

  

   <head>

      <style>

         .error {color: #FF0000;}

      </style>

   </head>

  

   <body>

      <?php

         // define variables and set to empty values

         $nameErr = $emailErr = $genderErr = $websiteErr = "";

         $name = $email = $gender = $comment = $website = "";

        

         if ($_SERVER["REQUEST_METHOD"] == "POST") {

            if (empty($_POST["name"])) {

               $nameErr = "Name is required";

            }else {

               $name = test_input($_POST["name"]);

            }

           

            if (empty($_POST["email"])) {

               $emailErr = "Email is required";

            }else {

               $email = test_input($_POST["email"]);

              

               // check if e-mail address is well-formed

               if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

                  $emailErr = "Invalid email format";

               }

            }

           

            if (empty($_POST["website"])) {

               $website = "";

            }

            else {

               $website = test_input($_POST["website"]);

            }

           

            if (empty($_POST["comment"])) {

               $comment = "";

            }else {

               $comment = test_input($_POST["comment"]);

            }

           

            if (empty($_POST["gender"])) {

               $genderErr = "Gender is required";

            }else {

               $gender = test_input($_POST["gender"]);

            }

         }

        

         function test_input($data) {

            $data = trim($data);

            $data = stripslashes($data);

            $data = htmlspecialchars($data);

            return $data;

         }

      ?>

    

      <h2>Absolute classes registration</h2>

    

      <p><span class = "error">* required field.</span></p>

     

      <form method = "post" action = ">?php

         echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

         <table>

            <tr>

               <td>Name:</td>

               <td><input type = "text" name = "name">

                  <span class = "error">* <?php echo $nameErr;?></span>

               </td>

            </tr>

          

            <tr>

               <td>E-mail: </td>

               <td><input type = "text" name = "email">

                  <span class = "error">* <?php echo $emailErr;?></span>

               </td>

            </tr>

          

            <tr>

               <td>Time:</td>

               <td> <input type = "text" name = "website">

                  <span class = "error"><?php echo $websiteErr;?></span>

               </td>

            </tr>

           

            <tr>

               <td>Classes:</td>

               <td> <textarea name = "comment" rows = "5" cols = "40"></textarea></td>

            </tr>

           

            <tr>

               <td>Gender:</td>

               <td>

                  <input type = "radio" name = "gender" value = "female">Female

                  <input type = "radio" name = "gender" value = "male">Male

                  <span class = "error">* <?php echo $genderErr;?></span>

               </td>

            </tr>

                                                

            <td>

               <input type = "submit" name = "submit" value = "Submit">

            </td>

                                                

         </table>

                                    

      </form>

     

      <?php

         echo "<h2>Your given values are as:</h2>";

         echo $name;

         echo "<br>";

        

         echo $email;

         echo "<br>";

        

         echo $website;

         echo "<br>";

        

         echo $comment;

         echo "<br>";

        

         echo $gender;

      ?>

  

   </body>

</html>

It will produce the following result −

Absolute classes registration

* required field.

Name:

 *

E-mail:

 *

Time:

Classes:

Gender:

Female Male *

Your given values are as :