254. Menangkap Variabel Post

Belajar PHP Variabel PostHalo semua, jumpa lagi dengan Phii. Kali ini, Phii akan membahas bagiamana menangkap variabel post pada form buku tamu sederhana agar ketika pengunjung memasukkan data dan ada beberapa data yang tidak valid, pengunjung web kita tidak perlu mengisi ulang dari awal lagi. Bingung? Kira2 begini, misal pengunjung web kita sudah menulis panjang lebar untuk data pesan, tapi kelupaan nulis data email, padahal data email wajib ditulis. Nah, ketika dikirim, proses akan dibatalkan karana ada data yang tidak lengkap dan akan menampilkan kembali form buku tamu yang kosong. Kasihan kan kalo harus nulis lagi, bisa jadi malah pengunjung web kita males n ga jadi nulis buku tamu. sudah cukup jelas? Oke...langsung kita bahas. Mari kita siapkan file2-nya :



database
create database db_gb ;
use db_gb;
create table guestbook (id int unsigned not null primary key auto_increment, nama varchar(50) not null, email varchar(100) not null, pesan text not null);

file koneksi.php

$host="localhost"; $uname="root"; $pass=""; $db="db_gb";
$koneksi=mysql_connect($host,$uname,$pass);
mysql_select_db($db,$koneksi);
?>

file lihatgb.php

$queryGb = mysql_query("select * from guestbook");
$jmlGb = mysql_num_rows($queryGb);

if($jmlGb==0)
{
echo"Data buku tamu masih kosong";
}
else
{
$queryTampil=mysql_query("select * from guestbook order by id desc");
echo"

DATA BUKU TAMU

";
while($dataGb=mysql_fetch_row($queryTampil))
{
echo"$dataGb[1]
";

echo"".wordwrap($dataGb[3],85,"
",1)." ";

echo"


";

}
}
?>

file gb.php

include'koneksi.php';

if(isset($_POST['kirim']) && ($_POST['kirim']=='Kirim'))
{
$nama=trim(strip_tags($_POST['nama']));
$email=trim(strip_tags($_POST['email']));
$pesan=trim(strip_tags($_POST['pesan']));

//validasi form
if($nama=='')
$error1= " « Nama belum diisi
";

if($email=='')
$error2= " « Email belum diisi
";

if($pesan=='')
$error3= " « Pesan belum diisi
";

if($email!='')
{
$polaemail = "^.+@.+\..+$"; //nyontek tutorial validasi email yg ditulis b_scorpio Smile
$cek=eregi($polaemail,$email);
if(!$cek)
{
$error4=" « Pola email salah";
}
}

//jika semua data valid
if(($nama!='') && ($email!='') && $cek && ($pesan!=''))
{
//simpan data buku tamu
$queryAddGb=mysql_query("insert into guestbook
values(NULL,'$nama','$email','$pesan')");

if($queryAddGb) //jika query simpan buku tamu berhasil
{
//tampilkan pesan berhasil
echo"Guestbook berhasil disimpan";
echo"";
exit;
}
else //jika query gagal
{
//tampilkan pesan gagal
echo"Data gagal disimpan";
echo"";
exit;
}
}
if(isset($error1) || isset($error2) || isset($error3) || isset($error4))
{
//tangkap variabel post untuk menampilkan kembali data yang sudah diisi pada form
$ex_nama=trim(strip_tags($_POST['nama']));
$ex_email=trim(strip_tags($_POST['email']));
$ex_pesan=trim(strip_tags($_POST['pesan']));
}
}

include'lihatgb.php';

//semua value variabel diset kosong jika belum diisi
if(empty($ex_nama))
{
$ex_nama='';
}
if(empty($ex_email))
{
$ex_email='';
}
if(empty($ex_pesan))
{
$ex_pesan='';
}
?>



FORM BUKU TAMU


Nama *

if(isset($error1)) //jika data nama kosong
{
echo $error1; //tampilkan pesan di samping textbox nama
}
?>

Email *

if(isset($error2)) //jika data email kosong
{
echo $error2; //tampilkan pesan d isamping textbox email
}
if(isset($error4)) //jika data email tidak sesuai dengan pola email
{
echo $error4; //tampilkan pesan di samping textbox email
}
?>

Pesan *

if(isset($error3)) //jika data pesan kosong
{
echo $error3; //tampilkan pesan di samping textarea pesan
}
?>

*) Wajib diisi





Mari dicoba :

Jalankan file gb.php
Coba isi beberapa data, misal :
data nama : Bolang
data pesan: Aku senang sekali mengunjungi ilmuwebsite.com, karena disini aku bisa belajar web programming. Untuk para staf, cayoo...jangan pernah bosan berbagi ilmu, agar semakin banyak anak2 bangsa ini yang pinter web programming. Selalu ditunggu artikel2 barunya, n....tetap semangatttttt!!!

Lalu klik Kirim
Apa yang terjadi? Si Bolang ini lupa ga masukin data email. Alhasil proses simpan buku tamu ditolak karana data email wajib diisi.
Disinilah topik bahasan artikel ini berguna. Yuppp....karena variabel yang sudah diisi telah ditangkap pak polisi, eh...salah, maksudnya ditangkap oleh variabel ex_nama dan ex_pesan, maka ketika form buku tamu ditampilkan kembali, data2 yang sudah diisi tidak kosong tapi sudah terisi oleh data yg sebelumnya sudah dimasukkan. Jadi Si Bolang tinggal mengisi data email saja.


Coba masukkan data email : bolang@yahoo, lalu klik Kirim
Aduh..aduhhhh...Si Bolang ini orangnya kurang teliti sama kaya Phii. Jadi ketika disimpan, lagi2 proses ditolak, karena pola email tidak sesuai dengan pola yang sudah ditentukan.
Kali ini variabel yang ditangkap tidak hanya nama dan pesan, tapi juga email. Form yang ditampilkan akan menampilkan data2 yang sudah dimasukkan sebelumnya.


Kali ini Si Bolang tidak akan melakukan kesalahan input lagi. Si Bolang menambahkan .com pada data email, sehingga data email menjadi
This e-mail address is being protected from spambots, you need JavaScript enabled to view it
. Lalu klik Kirim.
Horeeee....Bolang sukses mengisi form buku tamu.


Script php-nya silahkan donlot disini
Wuah...panjang sekalee artikelnya, udah ah...sampai di sini dulu artikel dari Phii. Jika ada teman2 yang menemukan cara lain silahkan menghubungi phii di
This e-mail address is being protected from spambots, you need JavaScript enabled to view it



Dari blog master:

Tidak ada komentar:

Kembali ke atas

Kembali ke atas