
Validasi Form dengan PHP
January 8, 2009Anda 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();
Sumber :
http://www.ilmuwebsite.com/detil_php_tutorial/5/Validasi_Form_dengan_PHP/