Membuat Contact Form Anti Spam dengan PHP
April 12th, 2010 Under Internet, php, Wordpress | 69 CommentsContact Form [ contact me / us ] merupakan sebuah form sederhana yang digunakan untuk menghubungi admin blog / situs melalui email. Untuk membuatnya sebenarnya tidak terlalu susah, kali ini saya akan bahas sedikit menggunakan pemrograman berbasis Web yaitu PHP. Dan Pada nantinya Insya Allah bisa dijalankan, baik yang menggunakan wordpress.com, wodrpress.org atau lainnya.
Kode contact.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <?php session_start() ; echo "<center><h3>Contact Me</h3><font color=red>"; if(isset($_POST['kirimkan'])) { $valid = "^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+\.)*([a-z0-9-]+)(\.[a-z]{2,3}))$"; if(!eregi($valid, $_POST[email])) { echo "<center>Silahkan lengkapi form yang disediakan</center>"; } elseif(!$_POST[nama]) { echo "<center>Silahkan lengkapi form yang disediakan</center>"; } elseif($_POST['ccek'] == $_SESSION['capcay']) { $email="deka@deka.web.id"; $kepada = $email; $judul = "Contact Me"; $pesan = "Nama : $_POST[nama] Email : $_POST[email] Website : $_POST[blog] Pesan : $_POST[pesan]\n"; $dari = "From: $_POST[email] \n"; $dari .= "Content-type: text/html \r\n"; mail($kepada,$judul,$pesan,$dari); echo "<center><b>Terima Kasih Telah Menghubungi Saya.</b></center>"; } else { echo "<center>Hasil Penjumlahan Salah</center>"; } } echo "</font>"; ?> <form method=post action="<?php $_SERVER['PHP_SELF']; ?>"> <table> <tr><td>Nama</td><td> : </td><td><input name="nama" type="text"><font color="#FF0000"> *</font></td></tr> <tr><td>Email</td><td> : </td><td><input name="email" type="text"><font color="#FF0000"> *</font></td></tr> <tr><td>Website</td><td> : </td><td><input name="blog" type="text"></td></tr> <tr><td valign="top">Pesan Anda</td><td valign="top"> : </td><td><textarea name="pesan" cols="50" rows="5"></textarea></td></tr> <tr><td><img src="captcha.php"/></td><td> </td><td><input name="ccek" type="text"/><font color="#FF0000"> *</font></td></tr> <tr><td colspan=4><input type="submit" name="kirimkan" value="Kirim"></td></tr> </table></center></form> |
Yang perlu diganti pada email=”deka@deka.web.id” sesuaikan dengan email anda, sisanya optional.
Kode captcha.php [bentuknya penjumlahan]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php session_start(); $gbr = "img.jpg"; $merah = "0"; $ijo = "0"; $biru = "0"; $acak1 = mt_rand(3,10); $acak2 = mt_rand(6,20); $strtampil = $acak1." + ".$acak2; $hasil = $acak1 + $acak2; $bikingbr =imagecreatefromjpeg($gbr); $teks = imagecolorallocate($bikingbr, $merah, $ijo, $biru); imagestring($bikingbr, 5, 20, 10, $strtampil, $teks); $_SESSION['capcay'] = $hasil; header("Content-type: image/jpeg"); imagejpeg($bikingbr); ?> |
Untuk berjalan dengan baik, captcha.php harus ditambahkan sebuah image, kira-kira ukurannya 79×24 pixel. semuanya contact.php, captcha.php serta imagenya bisa juga di download disini. Untuk menjalankannya.
- Pada wordpress.org
- Pada wordpress.com
Karena wordpress.com fiturnya serba terbatas mungkin cara satu-satunya dengan menggunakan pihak ketiga yaitu bisa upload pada hostingan gratis atau mudahnya, anda bisa contact saya, Insya Allah bisa saya bantu untuk meletakkannya pada hostingan saya.
Jika disatukan dengan page pada wordpress, Install terlebih dahulu plugin eksekusi php seperti exec-php, inline-php, dsbnya. Kemudian pastekan kode contact.php pada halaman yang akan dibuat [html kode]. Untuk kode captchanya supaya tampil, jangan lupa di upload image dan captcha.php pada direktori wordpress. Contohnya bisa dilihat disini.
Jika mau dibedakan dengan wordpress [tidak build] termasuk juga buat yang tidak menggunakan wordpress, tinggal bikin saja direktori pada hostingan, kemudian upload semua. jangan lupa untuk merename contact.php jadi index.php. Atau bisa juga langsung diupload pada direktori wordpressnya. Contohnya pada contact me di blog ini.
Ada yang mau protes..??? Sok atuh, sekalian mumpung otak saya lagi lieur ![]()
![]()
PS. Show ▼



atlet
waduh…. harus benar2 di mengerti nich..!!!
thanks mas,.. nice post..!!!
[Reply]
rismaka
Yang ga pake captcha ada ga mas deka? Saya lagi nyari yang pake penjumlahan, jadi jika fitur image dimatikan, masih bisa terlihat.
[Reply]
April 20th, 2010 at 11:23 am
Yang waktu itu saya kirimin ke mas adi kan gak pakai captcha..??? lagian captcha ini pakai penjumlahan kok cuman memang pakai image. kalo gak pakai image saya kurang tau tuh mas, sepertinya kode untuk captchanya harus di rombak banyak deh. CMIIW
[Reply]
iphud
maksih mas
saya dah coba ini dari dulu bingung ech ternyata uploadnya yang salah hehehe useful tutor btw… pisit me yah blogger indonesia
msih niubie nih
[Reply]
Quo
Salam…
“*Pada wordpress.org
….. Contohnya pada contact me di blog ini.” kok ng Link kemana gk jLs ya_@.,?
Sy mau tnya yg cpatcha.php sama img.jpg itu di upload dimana ya? saya coba taruh d page tdk bisa, kL d upLoad juga pda direktori yang mana? sy cb tp msh bLm bisa brfungsi… mhn bantuanny.,^^
[Reply]
Jaka Dara
Thanks Bro, mail ane dah jalan.
Maklum ane newbe
[Reply]
Jaka Dara
Ane Lagi Bikin Form Register Nih ,
Mohon Di bantu ya,
Dah 1 minggu ane obok2 google. tapi malah pusing. he he.
[Reply]
khamiL
bagus banget nigan
info yang sangat membantu banget nih !!!
[Reply]