hm....apaan ya captcha. Nama orang, makanan, ato judul buku..? Pertama kali mendengar nama itu aku tahu akan berhadapan dengan sesuatu yang sulit. Soalnya dari namanya aja udah keliatan sulit. Hehehe...
Setelah mencari-cari, dan tanya si embah google.. dapat sedikit gambaran. Ternyata captcha itu sesuatu yang selama ini gak gitu kita perhatikan dan dianggap gak penting. Padahal ternyata fungsinya penting untuk suatu web.
Nah cara bikin captcha gak begitu sulit, karena di dunia maya sudah banyak tutorial yang memberi script beserta penjelasannya. Ini salah satu contoh script sederhana yang saya pake.
1. Pertama buat dulu script untuk captcha nya
<?php session_start();
create_image();
exit();
function create_image()
{
$md5_hash = md5(rand(0,999));
$security_code = substr($md5_hash, 15, 5);
$_SESSION["security_code"] = $security_code;
$width = 100;
$height = 20;
$image = ImageCreate($width, $height);
$white = ImageColorAllocate($image, 255, 255, 255);
$black = ImageColorAllocate($image, 0, 0, 0);
$grey = ImageColorAllocate($image, 204, 204, 204);
ImageFill($image, 0, 0, $black);
ImageString($image, 3, 30, 3, $security_code, $white);
ImageRectangle($image,0,0,$width-1,$height-1,$grey);
imageline($image, 0, $height/2, $width, $height/2, $grey);
imageline($image, $width/2, 0, $width/2, $height, $grey);
header("Content-Type: image/jpeg");
ImageJpeg($image);
ImageDestroy($image);
}
?>
Jangan lupa simpan dengan nama captcha.php
2. Setelah itu yang kedua bikin form untuk mengirim komentar.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<table width="473" border="0" align="center">
<tr>
<td colspan="2"><h2>*) wajib diisi. </h2> </td>
</tr>
<form name="form1" method="post" action="simpan_kontak.php">
<input name="id" type="hidden" id="id" />
<tr>
<td>pesan</td>
<td><textarea name="pesan" id="pesan"></textarea></td>
</tr>
<tr>
<td> </td>
<td><img src="captcha.php" alt="Kode Captcha" width="100" height="20"></td>
</tr>
<tr>
<td>Masukkan code diatas *</td>
<td><input type="text" name="txtKode" id="txtKode"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="register" />
<input type="reset" name="Submit2" value="batal" /></td>
</tr>
</form>
</table>
</body>
</html>
Jangan lupa simpan dengan nama komen.php
3. Yang terakhir buat script untuk validasi
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<?php
mysql_connect("localhost","root","");
mysql_select_db("komen");
$pesan_valid = $_POST['pesan'];
if ($_SESSION["security_code"]!=$_POST['txtKode'])
{
echo "kode masih salah <br />";
}
else {
$query="INSERT INTO komen(id_komen, pesan_peng, date_komen) VALUES('".$_POST['id']."', '$pesan_valid', CURDATE())";
$result = @mysql_query($query) or die (mysql_error());
if($result) echo'<h3>Kritik/saran anda telah terkirim</h3>';
else echo'<h3>Error</h3>';}
?>
</body>
</html>
Simpan dengan nama simpan_komen.php
simpan ketiga file dalam satu folder.

