Unsecured debt consolidation loan


Saturday, 12 February 2011

Required Form dengan PHP

Dahulu kala saya pernah membuat artikel tentang cara membuat form kontak dengan PHP di blog ini. Tapi dari script tersebut masih ada beberapa kekurangan, seperti required field. Sehingga user bisa saja mengirimkan pesan tanpa mengisi nama dan alamat emailnya terlebih dahulu.

Nah untuk mengantisipasinya, kita bisa menggunkan lagi fungsi-fungsi lain yang sudah tersedia di PHP. Berikut adalah contoh modifikasi script form kontaknya.


Nama file form.html

<form action="proses_form.php">
Nama : <input name="nama" type="text" /> *
Email : <input name="email" type="text" /> *
Pesan : <textarea cols="30" name="pesan" rows="5"></textarea>min 15 karakter
<input type="submit" value="Kirim" /></form>

Nama file proses_form.php
<?php
//terima data input dari user
$nama=$_POST['nama'];
$email=$_POST['email'];
$pesan=$_POST['pesan'];

//filter required form
$error=”;

if(empty($nama) OR empty($pesan))
$error.="Nama dan email harus diisi<br>";

if(!ereg(‘^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z0-9_\-\.]+$’, $email));
$error.="Format email Anda tidak valid<br>";

if(strlen($pesan)<15)
$error.="Pesan terlalu pendek. Min 15 karakter.";

if($error==""){
//konfigurasi kiriman
$to="belajarwebdesign@gmail.com";
$subjek="Kontak dari Form";
$from="From: $nama &lt;$email&gt;";

//kirimkan ke email admin
@ mail($to, $subjek, $pesan, $from);
echo "Pesan berhasil terikirim.";
}else
echo $error."<br><a href=’javascript:history.back()’><< Kembali</a>";

?>

PENJELASAN SCRIPT

  • Untuk file form.html, tidak ada yang spesial. Hanya untuk menampilkan formnya saja.
  • Nah untuk file proses_form.php. Pertama-tama kita terima data yang dimasukan/diinput user. Kemudian kita cek apakah field nama dan email diisi oleh user atau tidak. Untuk mengeceknya, bisa menggunakan fungsi empty().
  • Kemudian, kita lihat format email yang diinput user benar atau tidak dalam format nama.email@domain.com. Untuk mengeceknya kita gunakan regex.
  • Terakhir, kita hitung jumlah karakter pesan yang diinput oleh user. Jika jumlahnya dibawah 15 chars, maka tampilkan pesan error. Untuk menghitungnya, kita gunakan fungsi strlen().

2 comments:

@ilmu terakir: coba ganti kode berikut

if(!ereg(‘^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z0-9_\-\.]+$’, $email));

jadi

if(!preg_match(‘/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z0-9_\-\.]+$/’, $email));

mungkin karena versi PHP nya gan...

Post a Comment

Enter your email address:

Delivered by FeedBurner