Membuat form kontak dilengkapi kode captcha yang dirandom dengan php
Sudah lama rasanya saya ngga bikin update artikel di blog ini,
itung-itung ngabuburit menjelang berbuka puasa, o'y,, selamat
menjalankan ibadah puasa bagi yang berpuasa, semoga amal ibadah anda
diterima oleh Allah s.w.t, amiiin....
Baiklah kita langsung saja ke pokok permasalahan, saat ini saya akan
membahas bagaimana caranya membuat form kontak yang di lengkapi dengan
kode capthca yang di random dengan menggunakan kode php tentunya.
Sebelumnya silahkan anda lihat form kontak yang saya maksudkan, yang
kebetulan sudah saya gunakan di blog ini http://www.tutorialwebgratis.com/p/contact.html
Sebenarnya bukan form kontak saja yang memerlukan penggunaan kode
captcha tersebut, melainkan semua form memang diharuskan untuk
menggunakan kode tersebut, seperti form untuk login, registrasi, dan
sebagainya, tujuannya adalah untuk menghalau para spamer memanfaatkan
form tersebut, yang biasanya para spamer membuat auto submiter yang
dibuat khusus untuk mengisi form secara otomatis dan terus-menerus
mensubmit form tersebut, tidak lain tujuan mereka adalah untuk beriklan.
Baiklah, pada kesempatan kali ini saya akan mengambil salah satu contoh
nya saja, yaitu fungsi kode captcha untuk membuat sebuah form kontak,
dimana form kontak ini digunakan oleh para pengunjung web atau blog
untuk mengirim pesan kepada pemilik nya, dan saat ini saya tidak akan
membahas secara keseluruhan nya, tapi hanya proses penggunaan random
karakter nya saja, yaitu pembuatan random kode captcha dengan php, dan
bagi anda yang memang sedang membutuhkan form kontak yang sudah jadi,
gak usah khawatir, karena di akhir tutorial ini sudah saya sertakan link
download untuk kode form kontak yang sudah jadi secara lengkap, dan
serkarang anda jangan beranjak dulu, silahkan selesaikan membaca
tutorial nya, hehe....
Perhatikan baris kode sederhana dibawah ini:
File random.php
<?php
function antirobot(){
$karakter = array('a','A','b','B','c','C','d','D','e','E','f','F','g','G','h','H','i','I','j','J','k','K','l','L','m','M','n','N','o','O','p','P','q','Q','r','R','s','S','t','T','u','U','v','V','w','W','x','X','y','Y','z','Z','1','2','3','4','5','6','7','8','9','0');
$max = (count($karakter)-1);
srand(((double)microtime()*1000000));
$kar1 = $karakter[rand(0,$max)];
$kar2 = $karakter[rand(0,$max)];
$kar3 = $karakter[rand(0,$max)];
$kar4 = $karakter[rand(0,$max)];
$rand_kar = $kar1.$kar2.$kar3.$kar4;
setcookie('random', $rand_kar, time()+7200);
return $rand_kar;
}
echo antirobot();
?>
Kode diatas jika dijalankan akan menyimpan sebuah cookie yang bernama random, dan isi dari cookie tersebut tidak lain adalah text string yang di random dari a-z dan 0-9 karakter, dan setiap fungsi antirobot() tersebut dijalankan maka isi dari cookie itu pun akan berubah sesuai dengan karakter yang dirandom tadi.
Nantinya cookie yang sudah tersimpan di browser itu akan digunakan pada
saat pemrosesan dilakukan, silahkan perhatikan sebuah form dibawah ini,
yang saya padukan dengan jquery ajax javascript, dimana fungsi antirobot
tersebut akan dipanggil menggunakan ajax.
File form.php
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
function reloadkode(){
$("#random").html('....');
$("#random").load('random.php');
}
$(function(){
reloadkode();
})
</script>
<form name="pesan" action="proses.php" method="post">
Nama: <input type="text" name="nama" value="" size="20" /><br />
Email: <input type="text" name="email" value="" size="25" /><br />
Pesan: <textarea name="pesan" rows="7" cols="35"></textarea><br />
Masukan kode ini <span id="random" style="color:#EE0000; font-size:large;">....</span>
disini: <input type="text" name="random" value="" size="5" /> <a href="javascript:reloadkode();">Reload Kode</a>
<input type="submit" name="submit" value="Kirim Pesan" />
</form>
|
SreenShoot Form.php |
Kemudian form tersebut akan di proses oleh file proses.php dan akan
mencocokan random karakter yang dibawa nya dengan cookie yang sudah
disimpan, dan apabila cocok, maka proses akan dilanjutkan
File proses.php
<?php
$nama = $_POST['nama'];
$email = $_POST['email'];
$pesan = $_POST['pesan'];
$random = strtoupper($_POST['random']);
if($random == ""){echo "Anti spam jangan dikosongkan!<br/>
<a href='javascript:history.back();'>Kembali</a>";}else{
if($random == strtoupper($_COOKIE['random'])){
echo "Terimakasih $nama, pesan anda telah diproses!<br/>
Rincian pesan anda adalah:<br/><br/>
Nama: $nama<br/>
Email: $email<br/>
Pesan: $pesan<br/><br/>
Thank's<br/>
<a href='javascript:history.back();'>Kembali</a>";
}else{echo "Kode captcha yang anda masukan salah!<br/>
<a href='javascript:history.back();'>Kembali</a>";}
}
?>
Kode diatas hanyalah contoh saja, jika anda memerlukan kode form kontak secara lengkap, silahkan download disini, dan jangan lupa untuk memberikan tanggapan pada tutorial ini, semoga bermanfaat bagi anda yang membaca nya. Wassalam....