logo

Validasi Form dengan PHP

Arsip IlmuWebsite
Sabtu, 30 Mei 2009 02.19 WIB 3 menit baca 101x dibaca

Anda mau membuat peraturan untuk form-form di website anda??
Seperti:

- Nomor Telephone Harus memakai awalan "0" dan minimum?5 angka
- Email Harus ada "@" dan .com / .net atau apa saja
- Password harus sama dengan ReTypePassword
- Atau jika Form ada yang kosong salah satu maka batalkan proses

 

Untuk memvalidasi lebih baik gunakan PHP dari pada javascript

Oke ini Penjelasan script nya:
---------------
include 'db.php';

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$tlp = $_POST['tlp'];
$email_address = $_POST['email_address'];
$username = $_POST['username'];
$password = $_POST['password'];
$retypepassword = $_POST['retypepassword'];
$iphidden = $_POST['iphidden'];
$nim = $_POST['nim'];

-----------------
Script "include 'db.php';" di atas untuk connect dg database,
sedangkan script "$first_name = $_POST['first_name'];" dan lain-lain itu gunanya untuk mengambil data dari form sebelumnya saya kira teman2 sudah paham masalah ini...

-----------------
$polaemail = "^.+@.+\..+$";
$pola_tlp = "^[0-9]+$";
$polapassword = "^.{5,}$";
-----------------
Script di atas berfungsi untuk menentukan pola dari string yang kita tentukan, lihat Tabel di bawah ini:

?Pola ?Kode
?Harus di awal kata ?^
?Huruf ?A-Za-z
?Angka ?0-9
?Huruf atau angka ?[A-Za-z0-9]
?Semua jenis karakter ?.
?Berjumlah satu atau lebih ?+ atau {1,}
?Berjumlah nol atau lebih ?* atau {0,}
?Berjumlah tiga sampai sepuluh ?{3,10}
?Diikuti dengan @ ?@
?Tanda titik ?\.
?Harus berada di akhir kalimat ?$

Jadi jika:? $polaemail = "^.+@.+\..+$";?
Deskripsi dari pola email:
^ (harus ada karakter di depan)
. (semua jedis karakter)
+ (Lebih dari satu)
@(tanda @)
. (semua jedis karakter)
+ (Lebih dari satu)
\. (di ikuti tanda titik)
. (semua jedis karakter)
+ (Lebih dari satu)
$ (Harus ada di akhir kalimat)

Jika anda mau email harus .com / .net / .org
Polanya seperti ini: ^.+@.+\.((com)|(net)|(org))$

-------------------
if((!$first_name) || (!$last_name) || (!eregi($pola_tlp, $tlp)) || (!eregi($polaemail, $email_address)) || (!$username) || (!eregi($polapassword, $password)) || (!$retypepassword) || ($password != $retypepassword))
-------------------
Pernyataan "if", Jika?
Tanda?"!" berarti tidak,?script "!$first_name" berarti string "$first_name" tidak berisi atau kosong
Tanda "||" itu berarti "atau".
Script "!eregi($pola_tlp, $tlp)"??? "eregi" adalah fungsi untuk membandingkan, berarti jika $pola_tlp tidak sama dengan $tlp
Tanda?"!="? berarti tidak sama

Script di atas berfungsi untuk memeriksa semua string apakah kosong atau polanya tidak sama. Jika ada salah satu string yang bermasalah kita langsung tampilkan pernyataan:
"Tolong Isi Formulir Ini Dengan Benar! "

Setelah itu kita tunjukkan bagian mana yang salah, dengan script:
-------------------
<?php
if(!$first_name){
?>
Tolong isi nama depan <br />

<?php???? }
if(!$last_name){
?>
Tolong isi nama belakang <br />

<?php???? }
if(!eregi($pola_tlp, $tlp)){
echo "Tolong isi Telpon, Harus Angka Ex. 085648173225<br />";
}
if(!eregi($polaemail, $email_address)){
echo "Tolong isi Email, Ex. scorpio@linux.org<br />";
}
if(!$username){
?>
Tolong isi username<br />

<?php????? }
if(!eregi($polapassword, $password)){
echo "Tolong isi Password, Harus Lebih dari 5 Karakter<br />";
}
if(!$retypepassword){
?>
Tolong isi retype password

<?php????? }
if( "$password" != "$retypepassword" ){
?>
Passwordnya tidak sama, ulangi lagi? ya !

<?php???
}
?>
-------------------

Setelah kita tunjukkan salah nya dimana, kita sertakan file "form.htm" dengan script:
include "form.htm";

lalu kita akhiri proses:
exit();


Download Ebooknya disini -> Download Ebook Tutorial PHP
LD
Penulis
Loka Dwiartara

Bapak-bapak tukang ketiq, yang bercita cita ingin jadi petani. Ada keperluan untuk handle project, atau ingin saya membantu menjelaskan secara detail tentang teknologi, INTERNET dan AI silahkan bisa kontak saya

Artikel Terkait