PHP Form
Free PHP forms, scripts, resources and tutorials.


Captcha Protection

Published: 22, may 2008


Creating a CAPTCHA with PHP :: PHP Tutorial

- Download source code (tutorial)
- Requirement(s): PHP Server

This tutorial will show you how to create a form with Captcha.

1.Sessions in PHP are started by using the session_start() function. Like the setcookie( ) function, the session_start( ) function must come before any HTML, including blank lines, on the page.

Code:
<?php session_start(); ?>

2.Imagecreatefrompng :: create a new image from file or URL.

Code:
$img = imagecreatefrompng('black.png'); 

3.The function imagecolorallocate creates a color using RGB (red,green,blue) format.

Code:
$white = imagecolorallocate($img, 255, 255, 255); 

4.Displaying the random text on the captcha image.

Code:
$numero = rand(100, 999);

5.Check if the security code and the session value are not blank and if the input text matches the stored text.

Code:
if(($_POST['check']) == $_SESSION['check']) 
{ echo 'Input OK';
}else{ 
echo 'Input Wrong';        
}

Files

black.png
index.php:
Code:
<form method="POST" action="cc.php"> 
<img src="captchas.php"> <br>
<input type="text" size="10" name="check"> <br> 
<input type="submit" name="submit" value="submit"> 
</form>
captchas.php:
Code:
<?php session_start(); 
//imagecreatefrompng :: create a new image 
//from file or URL
$img imagecreatefrompng('black.png'); 
//displaying the random text on the captcha 
$numero rand(100999); 
$_SESSION['check'] = ($numero); 
//The function imagecolorallocate creates a 
//color using RGB (red,green,blue) format.
$white imagecolorallocate($img255255255); 
imagestring($img1083$numero$white);
 
header ("Content-type: image/png"); imagepng($img); 
?>
cc.php:
Code:
<?php
session_start
(); 
//Sessions in PHP are started by using the 
//session_start() function.  
//Like the setcookie( ) function, 
//the session_start function must come before any HTML, 
//including blank lines, on the page.session_start(); 
//Check if the security code and 
//the session value are not blank 
//and if the input text matches the stored text
if(($_POST['check']) == $_SESSION['check']) { 
echo 
'Input OK';
}else{ 
echo 
'Input Wrong';        
}

example 2

PHP Comments


Add a Comment

Name:


Comment:



Sitemap