Halo 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
<?php
$host="localhost"; $uname="root"; $pass=""; $db="db_gb";
$koneksi=mysql_connect($host,$uname,$pass);
mysql_select_db($db,$koneksi);
?>
file lihatgb.php
<?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"<p>DATA BUKU TAMU<p>";
while($dataGb=mysql_fetch_row($queryTampil))
{
echo"<b>$dataGb[1]</b><br>";
echo"".wordwrap($dataGb[3],85,"<br>",1)." ";
echo"<hr width=50% align=left>";
}
}
?>
file gb.php
<?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= "<font color=red> « Nama belum diisi</font><br>";
if($email=='')
$error2= "<font color=red> « Email belum diisi</font><br>";
if($pesan=='')
$error3= "<font color=red> « Pesan belum diisi</font><br>";
if($email!='')
{
$polaemail = "^.+@.+\..+$"; //nyontek tutorial validasi email yg ditulis b_scorpio :)
$cek=eregi($polaemail,$email);
if(!$cek)
{
$error4="<font color=red> « Pola email salah</font>";
}
}
//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"<font color=red><b>Guestbook berhasil disimpan</b></font>";
echo"<meta http-equiv=\"refresh\" content=\"2; url=./gb.php\">";
exit;
}
else //jika query gagal
{
//tampilkan pesan gagal
echo"<font color=red><b>Data gagal disimpan</b></font>";
echo"<meta http-equiv=\"refresh\" content=\"10; url=./gb.html\">";
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='';
}
?>
<p><br><br>FORM BUKU TAMU
<form method="post" action="">
Nama *<br><input type="text" name="nama" size="34" value="<?php echo $ex_nama;?>"><?php
if(isset($error1)) //jika data nama kosong
{
echo $error1; //tampilkan pesan di samping textbox nama
}
?><br>
Email *<br><input type="text" name="email" size="34" value="<?php echo $ex_email;?>"><?php
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
}
?><br>
Pesan *<br><textarea name="pesan" rows="8" cols="40"><?php echo $ex_pesan;?></textarea><?php
if(isset($error3)) //jika data pesan kosong
{
echo $error3; //tampilkan pesan di samping textarea pesan
}
?>
<br>*) Wajib diisi <br>
<input type="reset" value="Reset" name="kosongkan">
<input type="submit" value="Kirim" name="kirim">
</form>
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.
Script php-nya silahkan donlot disiniApa
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.
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
bolang@yahoo.com. Lalu klik Kirim.
Horeeee....Bolang sukses mengisi form buku tamu.
ini Si Bolang tidak akan melakukan kesalahan input lagi. Si Bolang
menambahkan .com pada data email, sehingga data email menjadi
bolang@yahoo.com. Lalu klik Kirim.
Horeeee....Bolang sukses mengisi form buku tamu.
Wuah...panjang
sekalee artikelnya, udah ah...sampai di sini dulu artikel dari Phii.
Jika ada teman2 yang menemukan cara lain silahkan menghubungi phii di
flore_ephi@yahoo.co.id atau share di ilmuwebsite.
*) Special thanks 2 --> Aeterna_16
Phii
dapet trik ini dari temen Phii yang nicknya aeterna. Makasih udah boleh
share ilmunya di ilmuwebsite melalui artikel yang Phii tulis. Salam bwt
rekan2 team PKTI, crazy6, aeterna_16, n angel. Woiii...cari proyek lagi
yukkkk....udah skarat nih..hahahah...
*) Salam bwt smua staff --> Anggi, Al-k, Safril, Fadli, Ivan, Ronny, Dr.emi n smua pengunjung setia ilmuwebsite
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Menangkap Variabel Post
Tidak ada komentar:
Posting Komentar