h1

Validasi Form dengan PHP

January 8, 2009

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();

Sumber :

http://www.ilmuwebsite.com/detil_php_tutorial/5/Validasi_Form_dengan_PHP/

Leave a Comment