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 ▼



bee
kapan2 dipasang secara manual…sekarang biar jd ladang SPAM dulu…
[Reply]
Planet Orange
Clingak clinguk
Gak ada orang ya……
[Reply]
April 14th, 2010 at 8:01 am
Lagi…
kakanda.
[Reply]
April 14th, 2010 at 9:41 am
Huuuu….
yang bening-bening terus
[Reply]
April 20th, 2010 at 10:43 am
Terus siapa lagi..???
MasEDI Belajar Ngeblog
Mantab mas Deka,
nice post, tp saya jd
[Reply]
darahbiroe
saya ijin comot kode kode scriptna ya mas
thanks
[Reply]
antok
hmmm
tengkyu yaw
meski saya gak menggunakanya
tapi nice post
bermanfaat
[Reply]
yangputri
aku lagi mempelajai kek ginian ne
[Reply]
Fanz
Jadi ga perlu pake plugin yah
[Reply]
April 20th, 2010 at 10:42 am
Saya sich prinsipnya pada wordpress meminimalisasikan penggunaan plugin. Kalo bisa pakai kode php, kenapa harus pakai plugin..???
[Reply]
hahn
wah mantab gan..

ntar kalo punya situs ane coba deh
[Reply]
Afif Logicprobe
luar biasa, mantap!! untuk wordpress.com gak bisa yah?
[Reply]
ekopras
kalau saya perlu bimbingan nih..kayaknya. Oke banget
[Reply]