Oke guys kita ketemu lagi, Nah pada artikel ini saya mau Memperlihat kan Apa itu Kode Captcha ? nah bagaimana cara penggunaannya ke bentuk Form ?
Captcha adalah gambar dengan kode yang ditulis di atasnya. Pengunjung situs diperlukan untuk membaca kode pada gambar dan masukkan nilai pada kolom teks. Jika kata yang dimasukkan salah, pengiriman formulir tidak diproses. Sebagai CAPTCHA adalah gambar cerdas kabur, bot spam yang tidak bisa membacanya. Jadi form tidak bisa auto-disampaikan oleh ‘bot’.
<form method="POST" name="contact_form" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"> <label for="name">Name: </label> <input type="text" name="name" value="<?php echo htmlentities($name) ?>"> <label for="email">Email: </label> <input type="text" name="email" value="<?php echo htmlentities($visitor_email) ?>"> <label for="message">Message:</label> <textarea name="message" rows=8 cols=30 ><?php echo htmlentities($user_message) ?></textarea> <img src="captcha_code_file.php?rand=<?php echo rand(); ?>" id="captchaimg" > <label for="message">Enter the code above here :</label> <input id="6_letters_code" name="6_letters_code" type="text"> <input type="submit" value="Submit" name="submit"> </form>
HTML bentuk di atas berisi kolom untuk nama, email dan pesan. Selain itu, kami memiliki gambar CAPTCHA. <Img> tag untuk titik-titik gambar
Script PHP di ‘captcha_code_file.php’ menciptakan gambar untuk captcha dan menyimpan kode dalam variabel sesi bernama ‘6_letters_code’.
Memvalidasi CAPTCHA
Ketika formulir dikirimkan, kita membandingkan nilai dalam variabel sesi (6_letters_code) dengan kode CAPTCHA disampaikan (nilai dalam teks lapangan 6_letters_code). Jika kode cocok, maka kita lanjutkan dengan email pengiriman formulir. Lain kita menampilkan kesalahan.
Berikut adalah kode yang melakukan pengolahan sisi server:
<?php if(isset($_POST['submit'])) { if(empty($_SESSION['6_letters_code'] ) || strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0) { //Note: the captcha code is compared case insensitively. //if you want case sensitive match, update the check above to // strcmp() $errors .= "n The captcha code does not match!"; } if(empty($errors)) { //send the email $to = $your_email; $subject="New form submission"; $from = $your_email; $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; $body = "A user $name submitted the contact form:n". "Name: $namen". "Email: $visitor_email n". "Message: n ". "$user_messagen". "IP: $ipn"; $headers = "From: $from rn"; $headers .= "Reply-To: $visitor_email rn"; mail($to, $subject, $body,$headers); header('Location: thank-you.html'); } } ?>
download Script CAPTCHA disini ====> Click here to download html-contact-form-captcha.zip kodenya dapat disesuaikan. Jika Anda membuka script, Anda dapat melihat beberapa baris pertama dari kode tersebut seperti yang ditunjukkan di bawah ini:
<?php $image_width = 120; $image_height = 40; $characters_on_image = 6; $font = './monofont.ttf'; //The characters that can be used in the CAPTCHA code. //avoid confusing characters (l 1 and i for example) $possible_letters = '23456789bcdfghjkmnpqrstvwxyz'; $random_dots = 0; $random_lines = 20; $captcha_text_color="0x142864"; $captcha_noise_color = "0x142864"; ?>
Anda juga dapat mengubah ukuran CAPTCHA dengan mengubah $ image_width,$ image_height,Jumlah karakter di CAPTCHA, dan memperbarui warna teks CAPTCHA dengan .. $ captcha_text_color..
activate javascript
activate javascript
activate javascript