PHP - Contoh Validasi

Bidang yang harus diisi akan memeriksa apakah bidang tersebut diisi atau tidak dengan cara yang benar. Sebagian besar kasus kami akan menggunakan file* simbol untuk bidang yang harus diisi.

Apa itu Validasi?

Validasi berarti memeriksa masukan yang dikirimkan oleh pengguna. Ada dua jenis validasi yang tersedia di PHP. Mereka adalah sebagai berikut -

  • Client-Side Validation - Validasi dilakukan pada browser web mesin klien.

  • Server Side Validation - Setelah data terkirim, data dikirim ke server dan dilakukan pengecekan validasi di mesin server.

Beberapa aturan Validasi untuk bidang

Bidang Aturan Validasi
Nama Harus diperlukan huruf dan spasi
Surel Harus dibutuhkan @ dan .
Situs web Harus diperlukan URL yang valid
Radio Harus dapat dipilih setidaknya sekali
Kotak Centang Harus dapat diperiksa setidaknya sekali
Menu drop down Harus dapat dipilih setidaknya sekali

URL yang valid

Kode di bawah ini menunjukkan validasi URL

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

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

Sintaks di atas akan memverifikasi apakah URL yang diberikan valid atau tidak. Ini harus mengizinkan beberapa kata kunci seperti https, ftp, www, az, 0-9, .. dll ..

Email yang Valid

Kode di bawah ini menunjukkan validasi alamat Email

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

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
   $emailErr = "Invalid format and please re-enter valid email"; 
}

Sintaks di atas akan memverifikasi apakah alamat Email yang diberikan berbentuk baik atau tidak. Jika tidak, itu akan menampilkan pesan kesalahan.

Contoh

Contoh di bawah menunjukkan formulir dengan validasi bidang yang diperlukan

<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>

Ini akan menghasilkan hasil sebagai berikut -