PHP Form : Cara Validasi Form dengan PHP
Tutorial PHP Form kali ini akan membahas bagaimana cara kita membuat validasi form input data dengan menggunakan PHP.
Ketika kita membuat form input data, seperti inputan nama. Dan jika kita menginginkan form inputan tersebut tidak boleh kosong, tentunya kita perlu melakukan validasi atau mengecek apakah form inputan tersebut sudah diisi apa belum.
Dengan demikian, aktivitas dari validasi form adalah memeriksa inputan yang dimasukkan oleh pengguna. Terdapat dua jenis validasi form di aplikasi web, yaitu:
Dalam percobaan ini, kita akan melakukan tiga percobaan yaitu :
Pada percobaan ini, kita akan memiliki dua file yaitu
Setelah anda menekan tombol "Simpan", maka akan ditampilkan output seperti gambar berikut :
Percobaan ini akan memiliki dua file, yaitu
Tidak ada perbedaan program langkah 2.1 dengan langkah 1.1, hanya berbeda pada saat pemanggilan file berikutnya. Jika langkah 2.1 akan memanggil file
Seperti yang terlihat , data untuk "Nama Lengkap" sengaja kita kosongkan. Lalu amati apa yang terjadi setelah kita menekan tombol "Simpan" ?. Tentunya akan dilakukan proses validasi disisi server, apakah ada inputan yang kosong atau tidak. Maka apabila ada inputan kosong akan muncul tampilan seperti output berikut :
Percobaan ini akan memiliki dua file, yaitu
Dalam file
Ketika kita membuat form input data, seperti inputan nama. Dan jika kita menginginkan form inputan tersebut tidak boleh kosong, tentunya kita perlu melakukan validasi atau mengecek apakah form inputan tersebut sudah diisi apa belum.
Dengan demikian, aktivitas dari validasi form adalah memeriksa inputan yang dimasukkan oleh pengguna. Terdapat dua jenis validasi form di aplikasi web, yaitu:
- Validasi disisi client
Validasi dilakukan pada web browser. Ketika kita menginputkan data, data tidak perlu dikirim ke sisi server untuk melakukan proses validasi. - Validasi disisi server.
Validasi yang dilakukan oleh program di sisi server. Ketika kita menginputkan data, data tersebut dikirim ke sisi server, lalu program di server akan melakukan proses validasi.
Dalam percobaan ini, kita akan melakukan tiga percobaan yaitu :
- Percobaan ke-1, form inputan tidak dilakukan proses validasi. Artinya, jika ada satu atau beberapa data kosong, maka hasil keseluruhannya akan tetap ditampilkan
- Percobaan ke-2, form inputan akan dikirim ke sisi server dan akan dilakukan proses validasi.
- Percobaan ke-3, proses validasi form inputan akan dilakukan disisi client
PERCOBAAN KE-1
Percobaan ke-1 ini bertujuan untuk tetap menampilkan form inputan data yang telah dimasukkan oleh user, meskipun ada beberapa data yang kosong (belum diinputkan). Namun tidak terjadi validasi, sehingga akan ditampilkan kembali data-data apa yang telah diinputkan.Pada percobaan ini, kita akan memiliki dua file yaitu
dataform.php
dan file proses.php
yang disimpan dalam folder phpschool/validasi
Langkah 1.1
Salin kode program php berikut dan berinama filedataform.php
, lalu simpan di folder phpschool/validasi
.<!DOCTYPE html>
<head>
<title>Kirim Data Form PHP</title>
</head>
<body>
<form action="proses.php" method="post">
<table>
<tr><td>Nama Lengkap </td><td><input type="text" name="nama"></td></tr>
<tr><td>Alamat </td><td><textarea name="alamat" width="300"></textarea></td></tr>
<tr><td>Tanggal Lahir</td><td><input type='date' name='tgl_lhr'/></td></tr>
<tr><td>Jenis Kelamin</td>
<td>
<input type="radio" name="jns_klmin" value="Pria" checked> Pria
<input type="radio" name="jns_klmin" value="Wanita"> Wanita
</td>
</tr>
<tr><td>Pendidikan</td>
<td>
<select name ="pendidikan">
<option value="SD">SD</option>
<option value="SMP">SMP</option>
<option value="SMA">SMA</option>
<option value="S1">S1</option>
<option value="S2">S2</option>
<option value="S3">S3</option>
</select>
</td>
</tr>
<tr><td><input type="submit" value="Simpan" name="simpan"></td></tr>
</table>
</form>
</body>
</html>
Langkah 1.2
Create file yang bernamaproses.php
, lalu simpan juga di folder phpschool/validasi
.<?php
if(isset($_POST['simpan'])){
echo '<table>';
echo '<tr><td>'.'Nama Lengkap: '.'</td><td>'.$_POST['nama'].'</td></tr>';
echo '<tr><td>'.'Alamat: '.'</td><td>'.$_POST['alamat'].'</td></tr>';
echo '<tr><td>'.'Tanggal Lahir: '.'</td><td>'.$_POST['tgl_lhr'].'</td></tr>';
echo '<tr><td>'.'Jenis Kelamin: '.'</td><td>'.$_POST['jns_klmin'].'</td></tr>';
echo '<tr><td>'.'Pendidikan: '.'</td><td>'.$_POST['pendidikan'].'</td></tr>';
echo '</table>';
}
?>
Langkah 1.3
Jalankan filedataform.php
pada browser, kemudian coba isi semua data pada form inputan seperti gambar di bawah ini :Setelah anda menekan tombol "Simpan", maka akan ditampilkan output seperti gambar berikut :
Langkah 1.4
Coba jalankan kembali filedataform.php
dengan mengosongkan inputan untuk "Nama Lengkap" dan "Tanggal Lahir". Lalu klik tombol "Simpan", maka akan muncul tampilan seperti gambar berikut :Kesimpulan: Jika ada form inputan data yang kosong, maka akan tetap ditampilkan seberapa banyak inputan data yang telah diisi.
PERCOBAAN KE-2
Percobaan ke-2 ini bertujuan untuk melakukan validasi dari form inputan, dimana akan memastikan apakah ada form inputan yang kosong atau tidak.Percobaan ini akan memiliki dua file, yaitu
dataformval.php
dan prosesvalidasi.php
yang disimpan dalam folder phpschool/validasi
.Langkah 2.1
Buatlah sebuah file yang bernamadataformval.php
yang mengandung kode program php seperti berikut :<!DOCTYPE html>
<head>
<title>Kirim Data Form PHP</title>
</head>
<body>
<form action="prosesvalidasi.php" method="post">
<table>
<tr><td>Nama Lengkap </td><td><input type="text" name="nama"></td></tr>
<tr><td>Alamat </td><td><textarea name="alamat" width="300"></textarea></td></tr>
<tr><td>Tanggal Lahir</td><td><input type='date' name='tgl_lhr'/></td></tr>
<tr><td>Jenis Kelamin</td>
<td>
<input type="radio" name="jns_klmin" value="Pria" checked> Pria
<input type="radio" name="jns_klmin" value="Wanita"> Wanita
</td>
</tr>
<tr><td>Pendidikan</td>
<td>
<select name ="pendidikan">
<option value="SD">SD</option>
<option value="SMP">SMP</option>
<option value="SMA">SMA</option>
<option value="S1">S1</option>
<option value="S2">S2</option>
<option value="S3">S3</option>
</select>
</td>
</tr>
<tr><td><input type="submit" value="Simpan" name="simpan"></td></tr>
</table>
</form>
</body>
</html>
Tidak ada perbedaan program langkah 2.1 dengan langkah 1.1, hanya berbeda pada saat pemanggilan file berikutnya. Jika langkah 2.1 akan memanggil file
prosesvalidasi.php
, sedangkan pada langkah 1.1 akan memanggil file proses.php
.Langkah 2.2
Salin kode program php berikut dan simpan dengan nama fileprosesvalidasi.php
<?php
if(isset($_POST['simpan'])){
if((empty($_POST['nama']))||(empty($_POST['alamat']))||
(empty($_POST['tgl_lhr']))||(empty($_POST['jns_klmin']))||
(empty($_POST['pendidikan']))){
echo"Data tidak boleh kosong";
}
else
{
echo '<table>';
echo '<tr><td>'.'Nama Lengkap: '.'</td><td>'.$_POST['nama'].'</td></tr>';
echo '<tr><td>'.'Alamat: '.'</td><td>'.$_POST['alamat'].'</td></tr>';
echo '<tr><td>'.'Tanggal Lahir: '.'</td><td>'.$_POST['tgl_lhr'].'</td></tr>';
echo '<tr><td>'.'Jenis Kelamin: '.'</td><td>'.$_POST['jns_klmin'].'</td></tr>';
echo '<tr><td>'.'Pendidikan: '.'</td><td>'.$_POST['pendidikan'].'</td></tr>';
echo '</table>';
}
}
?>
Langkah 2.3
Jalankan filedataformval.php
pada browser, kemudian coba kosongkan pada salah satu form inputan, misal kita tidak mengisi form inputan "Nama Lengkap" seperti gambar di bawah ini :Seperti yang terlihat , data untuk "Nama Lengkap" sengaja kita kosongkan. Lalu amati apa yang terjadi setelah kita menekan tombol "Simpan" ?. Tentunya akan dilakukan proses validasi disisi server, apakah ada inputan yang kosong atau tidak. Maka apabila ada inputan kosong akan muncul tampilan seperti output berikut :
Kesimpulan:Setelah user menginput data, maka data akan dikirim ke program disisi server. Kemudian akan diperiksa apakah ada form inputan yang kosong atau tidak. Jika ada, maka akan keluar informasi bahwa data tidak boleh kosong. Inilah yang dinamakan validasi disisi server
PERCOBAAN KE-3
Percobaan ke-3 ini bertujuan untuk melakukan validasi form inputan disisi client, yaitu dicek ketika kita menginputkan data dan sebelum data dikirim ke program disisi server .Dengan demikian dilakukan validasi di web browser.Percobaan ini akan memiliki dua file, yaitu
dataformrequired.php
dan proses.php
yang disimpan dalam folder phpschool/validasi
.Langkah 3.1
Buatlah sebuah file yang bernamadataformrequired.php
yang berisi kode program php sebagai berikut :<!DOCTYPE html>
<head>
<title>Kirim Data Form PHP</title>
</head>
<body>
<form action="proses.php" method="post">
<table>
<tr><td>Nama Lengkap </td><td><input type="text" name="nama" required></td></tr>
<tr><td>Alamat </td><td><textarea name="alamat" width="300" required></textarea></td></tr>
<tr><td>Tanggal Lahir</td><td><input type='date' name="tgl_lhr" required></td></tr>
<tr><td>Jenis Kelamin</td>
<td>
<input type="radio" name="jns_klmin" value="Pria" checked> Pria
<input type="radio" name="jns_klmin" value="Wanita"> Wanita
</td>
</tr>
<tr><td>Pendidikan</td>
<td>
<select name ="pendidikan">
<option value="SD">SD</option>
<option value="SMP">SMP</option>
<option value="SMA">SMA</option>
<option value="S1">S1</option>
<option value="S2">S2</option>
<option value="S3">S3</option>
</select>
</td>
</tr>
<tr><td><input type="submit" value="Simpan" name="simpan"></td></tr>
</table>
</form>
</body>
</html>
Dalam file
dataformrequired.php
, kita menambahkan keyword required
untuk setiap form inputannya.Langkah 3.2
Buat file dengan namaproses.php
yang berisikan kode program seperti berikut. Programnya sama seperti pada langkah 1.2:<?php
if(isset($_POST['simpan'])){
echo '<table>';
echo '<tr><td>'.'Nama Lengkap: '.'</td><td>'.$_POST['nama'].'</td></tr>';
echo '<tr><td>'.'Alamat: '.'</td><td>'.$_POST['alamat'].'</td></tr>';
echo '<tr><td>'.'Tanggal Lahir: '.'</td><td>'.$_POST['tgl_lhr'].'</td></tr>';
echo '<tr><td>'.'Jenis Kelamin: '.'</td><td>'.$_POST['jns_klmin'].'</td></tr>';
echo '<tr><td>'.'Pendidikan: '.'</td><td>'.$_POST['pendidikan'].'</td></tr>';
echo '</table>';
}
?>
Langkah 3.3
Jalankan filedataformrequired.php
, lalu coba kosongkan pada bagian inputan "Tanggal Lahir". Ketika kita klik tombol "Simpan" maka akan dilakukan validasi terlebih dahulu sebelum data dikirim, seperti yang ditunjukkan oleh gambar dibawah ini :Kesimpulan:Untuk mengecek atau melakukan validasi form inputan, data tidak perlu dikirim ke sisi server. Program disisi web browser akan melakukan pengecekan apakah terdapat data yang kosong atau tidak.
Kesimpulan Akhir
Proses validasi form inputan disisi server yang hanya bertujuan untuk memeriksa apakah form inputan ada yang kosong atau tidak di sisi server merupakan teknik yang kurang tepat. Namun sebelum muncul keyword
Keyword
Proses validasi disisi server akan lebih baik apabila kita tidak hanya memeriksa sekedar apakah inputan tersebut kosong atau tidak. Misal seperti kasus pengisian password,akan dilakukan validasi inputan apakah menggunakan kombinasi angka,huruf besar, huruf kecil atau karakter spesial beserta memberikan rekomendasi apakah kategori inputan passwordnya : weak, medium atau strong.
required
pada elemen form HTML, teknik validasi tersebut sangat sering digunakan.Keyword
required
mulai diperkenalkan pada HTML 5. Disamping itu proses validasi yang hanya sekedar mengecek apakah inputan telah terisi atau belum, lebih baik dilakukan validasi disisi browser web.Proses validasi disisi server akan lebih baik apabila kita tidak hanya memeriksa sekedar apakah inputan tersebut kosong atau tidak. Misal seperti kasus pengisian password,akan dilakukan validasi inputan apakah menggunakan kombinasi angka,huruf besar, huruf kecil atau karakter spesial beserta memberikan rekomendasi apakah kategori inputan passwordnya : weak, medium atau strong.