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
- <!DOCTYPE HTML>
- <html>
- <head>
- <title>Contoh proses validasi form</title>
- </head>
- <body>
- <?php
- // membuat variabel yang diset dengan nilai kosong
- $nama = $email = $gender = $komentar = $website = "";
- //mengambil data dari form dengan metode post
- if ($_SERVER["REQUEST_METHOD"] == "POST") {
- $nama = test_input($_POST["nama"]);
- $email = test_input($_POST["email"]);
- $website = test_input($_POST["website"]);
- $komentar = test_input($_POST["komentar"]);
- $gender = test_input($_POST["gender"]);
- }
- //membuat fungsi untuk validasi input form
- function test_input($data) {
- $data = trim($data);
- $data = stripslashes($data);
- $data = htmlspecialchars($data);
- return $data;
- }
- ?>
- <h2>Contoh Validasi Form dengan PHP</h2>
- <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
- Name: <input type="text" name="nama">
- <br><br>
- E-mail: <input type="text" name="email">
- <br><br>
- Website: <input type="text" name="website">
- <br><br>
- Comment: <textarea name="komentar" rows="5" cols="40"></textarea>
- <br><br>
- Gender:
- <input type="radio" name="gender" value="perempuan">Perempuan
- <input type="radio" name="gender" value="laki-laki">Laki-laki
- <br><br>
- <input type="submit" name="submit" value="Submit">
- </form>
- <?php
- //menampilkan hasil dari inputan form
- echo "<h2>Input yang anda masukkan:</h2>";
- echo $nama;
- echo "<br>";
- echo $email;
- echo "<br>";
- echo $website;
- echo "<br>";
- echo $komentar;
- echo "<br>";
- echo $gender;
- ?>
- </body>
- </html>
Pada contoh terdapat beberapa proses validasi dasar untuk form yaitu:
- 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 </script>
- Penggunaan fungsi trim() untuk menghapus karakter yang tidak diperlukan seperti ekstra spasi, tab dan baris baru.
- Penggunaan fungsi stripslashes() untuk membuang tanda backslash (/) dari input yang dimasukkan oleh pengguna
- Penggunaan fungsi htmlspecialchars() untuk mengubah karakter-karakter khusus html seperti < menjadi < dan > menjadi >
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.
0 Komentar untuk " Cara Membuat Validasi Form dengan PHP "