Membuat contact form sederhana dengan php

Banyak cara untuk meningkatkan interaksi dengan pengunjung blog, salah satunya yang paling sering digunakan adalah menggunakan contact form (Form kontak). Sebagaimana Form kontak pada umumnya, pada tutor ini nantinya akan terdapat kolom-kolom seperti Nama, Subject, E-Mail, Website dan lain-lain. Juga akan kita tambahkan kolom yang harus di isi oleh pengunjung ketika nantinya mereka mengirimkan komentar atau pertanyaan ke anda.
Berikut adalah cara sederhana untuk membuat contact form dengan php:

Membuat kolom isian HTML.

Buka Notepad, kemudian isikan kode html dibawah ini, terus simpan dengan nama kontak.htm (Save as type: All Files):

<html>
<body>
<p>Bagian yang hurufnya <b>tebal</b> harus di isi</p>
<form action="kontak.php" method="post">
<table border="0">
<tr>
<td><b>Nama</b></td>
<td> :</td>
<td><input type="text" name="yourname" /></td>
</tr>
<tr>
<td><b>Subject</b></td>
<td> :</td>
<td><input type="text" name="subject" /></td>
</tr>
<tr>
<td><b>E-mail</b></td>
<td> :</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td>Website</td>
<td> :</td>
<td><input type="text" name="website"></td>
</tr>
</table>
<p>Apakah anda menyukai blog ini?<br>
<input type="radio" name="likeit" value="Ya" checked="checked" /> Ya
<input type="radio" name="likeit" value="Tidak" /> Tidak
<input type="radio" name="likeit" value="Tidak yakin" /> Tidak yakin</p>
<p>Bagaimana cara anda ke blog ini?<br>
<select name="how">
<option value=""> -- Silahkan pilih -- </option>
<option>Google</option>
<option>Yahoo</option>
<option>Link dari web/blog lain</option>
<option>Chat / Forum</option>
<option>Lainnya</option>
</select>
<p><b>Pertanyaan:</b><br />
<textarea name="comments" rows="10" cols="40"></textarea></p>
<p><input type="submit" value="Kirim!"></p>
<p> </p>
</form>
</body>
</html>

Membuat Halaman Pemberitahuan HTML

Nantinya halaman ini yang akan muncul ketika komentar atau pertanyaan berhasil di kirim.
Buka lagi Notepad, kemudian isikan kode html dibawah, terus simpan dengan nama sukses.htm (Save as type: All Files):

<html>
<body>
<center>
<p><b>Pesan anda telah dikirim</b></p>
<p>Pesan anda telah dikirim ke Admin! Terima kasih telah menghubungi kami,
Kami akan respon pesan anda secepat mungkin!</p>
</body>
</html>

Script PHP untuk Form.

Script inilah topik utama dari tutorial ini. Pada script ini akan ditentukan apa yang terjadi dengan pesan yang dikirim, Kemana tujuan pesan dikirim dan misalkan terjadi kesalahan input, apa yang harus dilakukan oleh pengunjung untuk memperbaikinya.
Kita akan membuat file PHP baru dan seperti biasa kita akan menggunakan Notepad. Isikan script PHP di bawah ini kemudian simpan dengan nama kontak.php (Save as type: All Files):

<?php
/* tentukan email penerima */
$myemail  = "you@domain.com";
/* Mengecek semua kolom input menggunakan  function check_input */
$yourname = check_input($_POST['yourname'], "Masukkan nama anda");
$subject  = check_input($_POST['subject'], "Tulis subject");
$email    = check_input($_POST['email']);
$website  = check_input($_POST['website']);
$likeit   = check_input($_POST['likeit']);
$how_find = check_input($_POST['how']);
$comments = check_input($_POST['comments'], "Tuliskan pertanyaan atau komentar anda");
/* Jika e-mail tidak valid, tampilkan pesan error */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
    show_error("Alamat e-mail tidak valid");
}
/* If URL is not valid set $website to empty */
if (!preg_match("/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i", $website))
{
    $website = '';
}
/* Isi pesan di kotak masuk e-mail anda */
$message = "Hallo..,!
Ada pesan baru dari contact form:
Nama: $yourname
E-mail: $email
URL: $website
Dia suka website? $likeit
Berkunjung melalui? $how_find
Pertanyaan/Komentar:
$comments
End of message
";
/* Mengrim pesan menggunakan mail() function */
mail($myemail, $subject, $message);
/* Alihkan pengunjung ke halaman sukses */
header('Location: sukses.htm');
exit();
/* Functions yg kita gunakan */
function check_input($data, $problem='')
{
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    if ($problem && strlen($data) == 0)
    {
        show_error($problem);
    }
    return $data;
}
function show_error($myError)
{
?>
    <html>
    <body>
    <b>Silahkan perbaiki kesalahan berikut:</b><br />
    <?php echo $myError; ?>
    </body>
    </html>
<?php
exit();
}
?>
Keterangan:
Line 3: Email penerima pesan dari pengunjung, ganti you@domain.com dengan e-mail anda.
Line 17: Pesan yang muncul ketika pengunjung memasukkan alamat email yg tidak valid.
Line 27-41: Isi pesan di kotak masuk e-mail anda.

Membuat form kontak berfungsi

Setelah mempunyai 3 file (kontak.htm, sukses.htm dan kontak.php) yang telah kita buat diatas, selanjutnya upload ke web server anda (Sebelumnya cek dulu apakah host anda mendukung PHP atau tidak).
Setelah itu buka kontak.htm di browser anda dan silahkan tes buat pesan apa saja untuk mencobanya.

UPDATE 16 Februari 2012:
Saya melakukan beberapa penambahan pada script diatas, sebagai berikut:
  1. Pada sukses.htm (Halaman Pemberitahuan HTML), sebelum </body> saya tambahkan: <a href="http://www.namadomain.com/contact.htm">Kembali ke form</a></center>
  2. Pada kontak.php, setelah <?php echo $myError; ?> saya tambahkan: <a href="http://www.namadomain.com/contact.htm">Kembali ke form</a></center>
  3. Untuk lebih mudah menambahkan contact form ini di blog/website anda, bisa menggunakan iframe, misalnya seperti ini: <center><iframe src="http://www.namadomain.com/contact.htm" height="600px" frameborder="0" scrolling="no" widht="100%"></iframe></center>
Keterangan:
Ganti namadomain dengan nama domain anda..!


0 comments:

Post a Comment

Perhatian
- Berkomentarlah Dengan Sopan Dan Baik
- Mohon Untuk Tidak Berkomentar Junk, Sara, Promosi Web/Blog, Dll
- Bila Mendapat Kesulitan, Silahkan Hubungi Admin ( Klik Disini )
Terima Kasih...