Cara Membuat Validasi Form dengan PHP


Haloo sahabat setia johan andy agasi blog. Setelah mengerti cara menangani form dengan action dan method, selanjutnya adalah melakukan validasi terhadap form. Proses validasi form dibutuhkan untuk mengamankan aplikasi dari hack seperti html injection. Melalui proses validasi form diharapkan data yang diinputkan benar-benar data yang valid dan tidak berisi script yang membahayakan.

Prinsip dasar validasi form adalah mengecek input data dari pengguna dengan beberapa tes kemudian membuat pembetulan dengan cara konversi data dan eliminasi data. Jadi fungsi dari proses validasi form adalah untuk memperoleh ketepatan data dan demi keamanan situs.

Contoh proses validasi form dengan PHP

  1. <!DOCTYPE HTML>     
  2. <html>    
  3. <head>    
  4. <title>Contoh proses validasi form</title>  
  5. </head>    
  6. <body>     
  7. <?php    
  8.   
  9. // membuat variabel yang diset dengan nilai kosong   
  10. $nama = $email = $gender = $komentar = $website = "";    
  11.   
  12. //mengambil data dari form dengan metode post  
  13.   
  14. if ($_SERVER["REQUEST_METHOD"] == "POST") {    
  15.   $nama = test_input($_POST["nama"]);    
  16.   $email = test_input($_POST["email"]);    
  17.   $website = test_input($_POST["website"]);    
  18.   $komentar = test_input($_POST["komentar"]);    
  19.   $gender = test_input($_POST["gender"]);    
  20. }  
  21.   
  22. //membuat fungsi untuk validasi input form  
  23. function test_input($data) {    
  24.   $data = trim($data);    
  25.   $data = stripslashes($data);    
  26.   $data = htmlspecialchars($data);    
  27.   return $data;    
  28. }    
  29. ?>  
  30.   
  31. <h2>Contoh Validasi Form dengan PHP</h2>    
  32. <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">     
  33.   Name: <input type="text" name="nama">    
  34.   <br><br>    
  35.   E-mail: <input type="text" name="email">    
  36.   <br><br>    
  37.   Website: <input type="text" name="website">    
  38.   <br><br>    
  39.   Comment: <textarea name="komentar" rows="5" cols="40"></textarea>    
  40.   <br><br>    
  41.   Gender:    
  42.   <input type="radio" name="gender" value="perempuan">Perempuan    
  43.   <input type="radio" name="gender" value="laki-laki">Laki-laki    
  44.   <br><br>    
  45.   <input type="submit" name="submit" value="Submit">     
  46. </form>   
  47. <?php    
  48. //menampilkan hasil dari inputan form  
  49. echo "<h2>Input yang anda masukkan:</h2>";    
  50. echo $nama;    
  51. echo "<br>";    
  52. echo $email;    
  53. echo "<br>";    
  54. echo $website;    
  55. echo "<br>";    
  56. echo $komentar;    
  57. echo "<br>";    
  58. echo $gender;    
  59. ?>    
  60. </body>    
  61. </html>    

Pada contoh terdapat beberapa proses validasi dasar untuk form yaitu:
  1. Penggunaan fungsi htmlspecialchars() pada form action untuk melindungi variabel global $_SERVER["PHP_SELF"] dari html injection. Dengan demikian, parameter-parameter ilegal yang disisipkan pada URL akan diubah ke format karakter html. Misal <script> menjadi &lt;/script&gt;
  2. Penggunaan fungsi trim() untuk menghapus karakter yang tidak diperlukan seperti ekstra spasi, tab dan baris baru.
  3. Penggunaan fungsi stripslashes() untuk membuang tanda backslash (/) dari input yang dimasukkan oleh pengguna
  4. Penggunaan fungsi htmlspecialchars() untuk mengubah karakter-karakter khusus html seperti < menjadi &lt; dan > menjadi &gt;
Untuk mempermudah proses validasi terhadap beberapa input form maka fungsi-fungsi diatas dikumpulkan menjadi satu fungsi yang bisa dipanggil dengan satu perintah saja, jadi tidak perlu menulis satu per satu untuk masing-masing input.

Pada contoh dapat dilihat fungsi test_input($data) yang memproses variabel $data dengan tiga fungsi, yaitu trim(), stripslashes() dan htmlspecialchars(). Setelah itu hasil dari fungsi-fungsi tersebut dikembalikan lagi melalui perintah return.

Pada program diatas belum dibuat proses require form yaitu suatu syarat yang mewajibkan satu input form untuk diisi. Akibatnya meskipun form dalam keadaan kosong, script akan tetap dijalankan ketika tombol submit ditekan. Tentang cara membuat sistem reqiure form insyaAllah akan ditulis pada artikel selanjutnya jangan lupa mampir terus di blog saya. Terima kasih :)

0 Komentar untuk " Cara Membuat Validasi Form dengan PHP "