Security Captcha Help Please:

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
Newyork
Forum Newbie
Posts: 1
Joined: Tue Aug 30, 2011 8:59 pm

Security Captcha Help Please:

Post by Newyork »

Hi All,

Can you please tell me why the security captcha does not show up?

Website Address:

http://www.sunit.site50.net/contact.html

I tried the contact form and it does seem to be working other than the captcha.

Here is the security_image.php code below.

--------------------------------------------------------------

<?php session_start();
class captcha {
var $font = 5;
function random($nr) {
$letters="23456789bcdfghjkmnpqrstvwxyz";
while ($i < $nr) {
if($i==rand(0,$nr-1)) {
$text .= substr(strtoupper($letters), mt_rand(0, strlen($letters)-1), 1);
}
else
{
$text .= substr($letters, mt_rand(0, strlen($letters)-1), 1);
}
$i++;
}
return $text;
}
function captcha($width,$height,$nru) {
$text=$this->random($nru);
$image = @imagecreate($width, $height) or die('unable create image!');
$bg_col = imagecolorallocate($image, 0, 191, 255);
$txt_col = imagecolorallocate($image, 255, 255, 255);
$rand_col = imagecolorallocate($image, 0, 0, 0);
imagefill($image, 100, 100, $bg_col);
imageantialias($image, true);
imagestring($image, $this->font , rand(1, 10), rand(1,10), $text, $txt_col);
imageline($image, rand(0,$width), rand(0,$height), rand(0,$width), rand(0,$height), $rand_col);
for( $i=0; $i<6; $i++ ) {
imagefilledellipse($image, rand(0,$width), rand(0,$height), 1, 1, $rand_col);
}
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
$_SESSION['chapcha_code'] = strtolower($text);
}
}
$width='70';
$height='25';
$nru='5';
$iesire = new captcha($width,$height,$nru);
?>


--------------------------------------------------------------------------------

and the mailer.php code as well.

--------------------------------------------------------------------------------


<?php session_start();
if(isset($_POST['Submit'])) { if( $_SESSION['chapcha_code'] == $_POST['chapcha_code'] && !empty($_SESSION['chapcha_code'] ) ) {
$youremail = '';
$fromsubject = '';
$title = $_POST['title'];
$fname = $_POST['fname'];
$mail = $_POST['mail'];
$address = $_POST['address'];
$phone = $_POST['phone'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$to = $youremail;
$mailsubject = 'Masage recived from'.$fromsubject.' Contact Page';
$body = $fromsubject.'

The person that contacted you is '.$fname.'
Address: '.$address.'
Phone Number: '.$phone.'
E-mail: '.$mail.'
Subject: '.$subject.'

Message:
'.$message.'

|---------END MESSAGE----------|';
echo "Thank you fo your feedback. I will contact you shortly if needed.<br/>Go to <a href='/index.php'>Home Page</a>";
mail($to, $subject, $body);
unset($_SESSION['chapcha_code']);
} else {
echo 'Sorry, you have provided an invalid security code';
}
} else {
echo "You must write a message. </br> Please go to <a href='/contact.php'>Contact Page</a>";
}
?>


------------------------------------------------------------------------------

Thank you for any help you can offer. :)

Newyork
User avatar
twinedev
Forum Regular
Posts: 984
Joined: Tue Sep 28, 2010 11:41 am
Location: Columbus, Ohio

Re: Security Captcha Help Please:

Post by twinedev »

How about the code for where it is told to use the capcha image? Looking at source code, you have garbage right in the final source code, which tells me perhaps you have included the capcha PHP directly inline with the code for the form, where instead you should have your form with a <img src="security_image.php" /> or something similar to make a call to it as an image.
Post Reply