--> Skip to main content

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:
  • 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 file dataform.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 bernama proses.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 file dataform.php pada browser, kemudian coba isi semua data pada form inputan seperti gambar di bawah ini :
php cek inputan data


Setelah anda menekan tombol "Simpan", maka akan ditampilkan output seperti gambar berikut :
php cetak form inputan


Langkah 1.4

Coba jalankan kembali file dataform.php dengan mengosongkan inputan untuk "Nama Lengkap" dan "Tanggal Lahir". Lalu klik tombol "Simpan", maka akan muncul tampilan seperti gambar berikut :
php dataform

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 bernama dataformval.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 file prosesvalidasi.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 file dataformval.php pada browser, kemudian coba kosongkan pada salah satu form inputan, misal kita tidak mengisi form inputan "Nama Lengkap" seperti gambar di bawah ini :
php validasi form inputan


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 :
varibel static php

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 bernama dataformrequired.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 nama proses.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 file dataformrequired.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 :
php validasi form disisi client

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 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.
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar