Captcha berfungsi untuk meyakinkan bahwa suatu sistem di dalam website digunakan oleh pengunjung (manusia), bukan oleh mesin/program. Pembuatan captcha dilakukan dengan mengacak bilangan dari 1000000 sampai 9999999 (tujuh digit). Setelah bilangan acak diperoleh maka langkah berikutnya adalah membuat gambar dari bilangan tersebut menggunakan library php_gd2.dll.
Step 1 –PERSIAPAN
Aktifkan library gd2 di dalam file php.ini dengan cara membuang tanda titik koma di depan bagian teks berikut.
;extension=php_gd2.dll
Menjadi:
extension=php_gd2.dll
Step 2 – MEMBUAT KODE UNTUK MEMBUAT GAMBAR CAPTCHA
Buatlah file captcha.php lalu tuliskan kode php seperti berikut.
<?php session_start(); //mengambil biilangan acak 7 digit. $bilangan = rand(1000000, 9999999); //mendaftarkan variabel di dalam session $_SESSION['bilangan'] = $bilangan; //membuat gambar captcha $gambar = imagecreatetruecolor(85, 35); $background = imagecolorallocate($gambar, 99, 99, 99); $foreground = imagecolorallocate($gambar, 225, 225, 225); imagefill($gambar, 0, 0, $background); imagestring($gambar, 10, 10, 10, $bilangan, $foreground); //menentukan header header("Cache-control: no-cache, must-revalidate"); imagepng($gambar); imagedestroy($gambar); ?>
Step 3 – MENAMPILKAN GAMBAR CAPTCHA KE DALAM FORM
Setelah kode untuk pembuatan captcha tersedia maka kita perlu memanggil kode tersebut unutk menampilkannya. Dengan hal ini user dapat mengisi nilai yang sesuai dengan gambar captcha yang ditampilkan. Simpan file dengan nama form-captcha.php
<!DOCTYPE html> <html> <head> <title>Membuat Gambar Captcha</title> </head> <body> <form action="validasicaptcha.php" method="post"> Masukkan bilangan yang sesuai pada gambar yang ada dibawah:<br /><br /> <!-- Menampilkan gambar captcha --> <img src="captcha.php"><br /><br /> <input type="text" name="captcha" /> <br /><br /> <input type="submit" name="btnSubmit" value="Kirim"> </form> </body> </html>
Contoh tampilan dari kode diatas.
Step 4 – MEMBUAT KODE VALIDASI CAPTCHA
Kode ini berfungsi untuk memeriksa apakah captcha yang dimasukkan oleh user benar atau tidak. Simpan dengan nama validasicaptcha.php
<?php session_start(); ?> <!DOCTYPE html> <html> <head> <title>Membuat Gambar Captcha</title> </head> <body> <h2>Validasi Captcha</h2> <?php if (isset($_POST['btnSubmit'])) { $captcha = $_POST['captcha']; if ($captcha == $_SESSION['bilangan']) { echo "Captcha benar..."; // proses lain yang akan dilakukan } else { echo "Captcha Salah..."; } } ?> </body> </html>
Contoh tampilan yang dihasilkan jika user memasukkan bilangan yang sesuai dengan gambar captcha adalah sebagai berikut.
Nah sekarang anda sudah berhasil membuat captcha dengan PHP. Selamat belajar.
Terima Kasih telah membaca.
***PIU***