Captcha Image Verification
Captcha is a good way to avoid automatic form submission.In this tutorial, I explains about captcha image verification. It creates an image with a random string displayed on it. Then the user asks to fill the string in the form filed and once form submitted it checks if the string on image matches the input by the user. This is the easiest way to protect web form from spammers.
Captcha.php
This file create an image with random string displayed on it.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php session_start(); $text = rand(10000,99999); $_SESSION["vercode"] = $text; $height = 25; $width = 65; $image_p = imagecreate($width, $height); $black = imagecolorallocate($image_p, 0, 0, 0); $white = imagecolorallocate($image_p, 255, 255, 255); $font_size = 14; imagestring($image_p, $font_size, 5, 5, $text, $white); imagejpeg($image_p, null, 80); ?> |
This script genrate a random number from 10000 to 99999 and assign it to a session variable $_SESSION[“vercode”]. then it generate a image 25*65 px with balck background and font size 14px. Now create a web form .
1 2 3 4 5 |
<form name="captcha" method="post"> Name :<input type="text" name="name" required="required" /> Email :<input type="email" name="email" required="required" /> Verification code :<input type="text" name="vercode" size="10" required="required" /> <img src="captcha.php"> <input type="submit" name="submit" value="Submit" /> |
Now create php script for submitting the form
1 2 3 4 5 6 7 8 9 |
<?php session_start(); if ($_POST["vercode"] != $_SESSION["vercode"] OR $_SESSION["vercode"]=='') { echo '<strong>Incorrect verification code.</strong>'; } else { // add form data processing code here echo '<strong>Verification successful.</strong>'; }; ?> |
This code check the verfication code input by user matches with sring given on image. if the code mataches then the form data submit else error message shows