Membuat Contact Form Anti Spam

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
  • Jika disatukan dengan page pada wordpress, Install terlebih dahulu plugin eksekusi php seperti exec-phpinline-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.
  • 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.

Komentar

Postingan populer dari blog ini

Merubah Tampilan Pada NOKIA N-GAGE QD & CLASIC

Cara mengatasi User-defined type not defined Visual Basic 6.0