PHP Series : Validasi Form PHP - Rumah IT

Baru

recent

PHP Series : Validasi Form PHP

PHP Series : Validasi Form PHP

Haloo, dalam PHP Series kali ini kita akan mempelajari tentang Validasi pada formulir atau form dengan menggunakan PHP.

Pengertian dan Tujuan Validasi

Validasi adalah memeriksa inputan yang dikirimkan oleh pengguna. Tujuan validasi yaitu menghindari kesalahan data pada form. Dengan adanya validasi, inputan user akan diperiksa sehingga data yang diproses tidak ada kesalahan sebelum disimpan ke database. Ada dua jenis validasi yang tersedia di PHP.
  1. Validasi Sisi Klien - Validasi dilakukan pada browser web mesin klien.
  2. Validasi Sisi Server - Setelah dikirimkan oleh data, data telah dikirim ke server dan melakukan pemeriksaan validasi di mesin server.

Aturan Validasi Data Untuk Kolum pada Form


Field Aturan Validasi
Nama Harus diisi, terdiri dari huruf dan spasi
Email Harus diisi, @ and .
Website Harus diisi, format penulisan website
Radio Harus memilih salah satu
Check Box Harus ada cek minimal satu
Drop Down menu Harus pilih salah satu

1. 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. Seharusnya memungkinkan beberapa kata kunci seperti https, ftp, www, a-z, 0-9, dll.

2. 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 sesuai atau tidak. Jika tidak, maka akan menampilkan pesan kesalahan.

Contoh Form :

Berikut adalah contoh form PHP yang menggunakan validasi inputan :

<html>
   <head>
      <style>
         .error {color: #FF0000;}
      </style>
   </head>
   
   <body> 
      <?php
         error_reporting(0);
         // define variables and set to empty values
         $nameErr = $emailErr = $genderErr = $websiteErr = "";
         $name = $email = $gender = $class = $course = $subject = "";
         
         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["course"])) {
               $course = "";
            }else {
               $course = test_input($_POST["course"]);
            }
            
            if (empty($_POST["class"])) {
               $class = "";
            }else {
               $class = test_input($_POST["class"]);
            }
            
            if (empty($_POST["gender"])) {
               $genderErr = "Gender is required";
            }else {
               $gender = test_input($_POST["gender"]);
            }
            
            if (empty($_POST["subject"])) {
               $subjectErr = "You must select 1 or more";
            }else {
               $subject = $_POST["subject"]; 
            }
         }
         
         function test_input($data) {
            $data = trim($data);
            $data = stripslashes($data);
            $data = htmlspecialchars($data);
            return $data;
         }
      ?>
  
      <h2>Biodata Mahasiswa</h2>
      
      <p><span class = "error">* required field.</span></p>
      
      <form method = "POST" action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
         <table>
            <tr>
               <td>Nama:</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>Kota:</td>
               <td> <input type = "text" name = "course">
                  <span class = "error"><?php echo $websiteErr;?></span>
               </td>
            </tr>
            
            <tr>
               <td>Alamat:</td>
               <td> <textarea name = "class" rows = "5" cols = "40"></textarea></td>
            </tr>
            
            <tr>
               <td>Jenis Kelamin:</td>
               <td>
                  <input type = "radio" name = "gender" value = "Perempuan">Perempuan
                  <input type = "radio" name = "gender" value = "Laki - Laki">Laki - Laki
                  <span class = "error">* <?php echo $genderErr;?></span>
               </td>
            </tr>
            
            <tr>
               <td>Fakultas  :</td>
               <td>
                  <select name = "subject[]" size = "4" multiple>
                     <option value = "Ekonomi">Ekonomi</option>
                     <option value = "Ilmu Komputer">Ilmu Komputer</option>
                     <option value = "Agama Islam">Agama Islam</option>
                     <option value = "Kedokteran">Kedokteran</option>
                     <option value = "Hukum">Hukum</option>
                     <option value = "Psikologi">Psikologi</option>
                  </select>
               </td>
            </tr>
            
            <tr>
               <td>Agree</td>
               <td><input type = "checkbox" name = "checked" value = "1"></td>
               <?php if(!isset($_POST['checked'])){ ?>
               <span class = "error">* <?php echo "You must agree to terms";?></span>
               <?php } ?> 
            </tr>
            
            <tr>
               <td>
                  <input type = "submit" name = "submit" value = "Submit"> 
               </td>
            </tr>
            
         </table>
      </form>
      
      <table border="1" cellpadding="2" cellspacing="0">
         <tr>
            <th>Nama</th>
            <th>Alamat Email</th>
            <th>Kota Asal</th>
            <th>Alamat</th>
            <th>Jenis Kelamin</th>
            <th>Fakultas</th>
         </tr>
         <tr>
            <td><?php echo $name; ?></td>
            <td><?php echo $email; ?></td>
            <td><?php echo $course; ?></td>
            <td><?php echo $class; ?></td>
            <td><?php echo $gender; ?></td>
            <td><?php for($i = 0; $i < count($subject); $i++) {
            echo($subject[$i] . " ");
         } ?></td>
         </tr>
      </table>
   </body>
</html> 
Kode PHP untuk form diatas akan menghasilkan tampilan :

PHP Series : Validasi Form PHP

All Rights Reserved by Rumah IT - Rumah Teknologi Informasi © 2013 - 2020
Powered By Blogger

Contact Form

Name

Email *

Message *

Powered by Blogger.