Captcha Baca Gambar Foto untuk Lokomedia

Captcha dengan dengan tulisan huruf dan angka secara acak sudah biasa. Namun bila captcha dibuat dengan bentuk tebak gambar foto sepertinya akan lebih menarik. Foto captcha bisa kita buat sesuka kita. Kita bisa mengenalkan kawan-kawan kita dengan captcha ini misalnya, atau gambar selebritis dan atlet bola. Bahkan bisa jadi media sosialisasi calon legislatif parpol (he he he).

Lagi-lagi kita akan coba memasngnya pada template sandbox yang kita miliki. Kita siapkan dulu foto yang akan kita gunakan sebagai captcha (contohnya pahlawan nasional). Buat ukuran yang sesuai dengan form komentar kita jangan terlalu kecil dan jangan juga terlalu besar. Buat sebanyak-banyaknya untuk memberikan banyak pilihan yang berbeda ketika di tampilkan random.

kartini-captcha

Masukkan foto-foto dalam satu folder misalnya ‘../pahlawan’. Selanjutnya kita akan memulai koding dari sisi public user yaitu pada form komentarnya. Buka file comments.php pada folder ../templates/sandbox. Edit bagian captcha dengan kode berikut.

<?php
$pahlawan = array("ahmad dahlan","cut nyak dhien","pangeran diponegoro","hasanudin","kartini","patimura","sisingamangaraja");
$gambar = array("ahmad.jpg","cut.jpg","diponegoro.jpg","hasanudin.jpg","kartini.jpg","patimura.jpg","sisingamangaraja.jpg");
		$acak = rand(0,count($gambar)-1);
		$_SESSION['captcha'] = $pahlawan[$acak];
		echo "<img src='pahlawan/".$gambar[$acak]."'><br />
		<label for='captcha'>Siapakah Pahlawan ini ?</label><br />";
		?>
        <input type="text" name="kode" size="20" maxlength="20"><br />

Dari kode di atas bisa dilihat bahwa pertama-tama kita mendeskripsikan array jawaban captcha (sesuai tulisan di gambar) kemudian diikuti dengan array gambar pahlawan (nama file gambar) yang sesuai dengan array jawaban. Setelah itu buat kode acak dari 0 sampai banyaknya array dikurang satu. Jangan lupa untuk membuat variabel session dari nilai acak array jawaban. Gambar akan ditampilkan sesuai kode acak yang didapatkan. Buat form input untuk jawaban captcha yang akan dieksekusi.

Lanjutkan dengan mengedit file simpankomentar.php. Pada file ini kita hanya mencocokkan varibel session yang kita buat pada file comments.php diatas. Karena kita menggunakan $_SESSION[‘captcha’] maka disini juga harus disesuaikan.

if($_POST['kode']==$_SESSION['captcha']){
   "dan seterusnya..."
}

Jika berhasil tampilannya akan seperti ini :

captcha-pahlawan

Download file contoh