Jump to content

Hep with Captcha


darkfreaks

Recommended Posts

hey guys im trying to implement captcha with my guestbook i just need abit of help making the code work right.  the image wont appear all i get is a red x?

 

<?php
session_start(); 

//Encrypt the posted code field and then compare with the stored key 
if(md5($_POST['key']) != $_SESSION['key']) 
{ 
  die("Error: You must enter the code correctly"); 
}

}else{
$sql="INSERT INTO guestbook(name, email, comment, datetime)VALUES('$name', '$email', '$comment', '$datetime')";
$result=mysql_query($sql);



mysql_close();
}



?>

 

and the form code

 

<tr><td valign="center"><img xsrc='captcha.php' border="0"> </td></tr>
<tr>
<td valign="center"><input name="key" type="text" id="key" size="40" /></td></tr>

 

Link to comment
Share on other sites

My Captcha Code:

 

<?php
//Start the session so we can store what the code actually is. 
session_start(); 

//Now lets use md5 to generate a totally random string 
$md5 = md5(microtime() * mktime()); 

/* 
We dont need a 32 character long string so we trim it down to 5 
*/ 
$string = substr($md5,0,5);


/*
Now for the GD stuff, for ease of use lets create 
the image from a background image. 
*/ 

$captcha = imagecreatefrompng("./captcha.png"); 

/* 
Lets set the colours, the colour $line is used to generate lines. 
Using a blue misty colours. The colour codes are in RGB 
*/ 

$black = imagecolorallocate($captcha, 0, 0, 0); 
$line = imagecolorallocate($captcha,233,239,239); 

/* 
Now to make it a little bit harder for any bots to break,  
assuming they can break it so far. Lets add some lines 
in (static lines) to attempt to make the bots life a little harder 
*/ 
imageline($captcha,0,0,39,29,$line); 
imageline($captcha,40,0,64,29,$line);


/* 
Now for the all important writing of the randomly generated string to the image. 
*/ 
imagestring($captcha, 5, 20, 10, $string, $black); 


/* 
Encrypt and store the key inside of a session 
*/ 

$_SESSION['key'] = md5($string); 

/* 
Output the image 
*/ 
header("Content-type: image/png"); 
imagepng($captcha);


?> 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.