我尝试实现PHP图片验证码,这里是test.php
文件:检查是否verfication代码是正确
<form method="POST" action="processor.php">
<div style="float:left;">Code: <input type="text" name="verif_box" style="cursor:text"> </div>
<div style="margin-top:0px;position:relative;left:5px; top:-8px;"><IMG SRC="image.php"></div>
<input type="submit" name="submit" value="Submit">
</FORM>
这里是image.php
:
$width = 60;
$height = 24;
$my_image = imagecreatetruecolor($width, $height);
imagefill($my_image, 0, 0, 0xFFFFFF);
for ($c = 0; $c < 110; $c++){
$x = rand(0,$width-1);
$y = rand(0,$height-1);
imagesetpixel($my_image, $x, $y, 0x000000);
}
$sessioncode=rand(0,9999);
imagestring($my_image, 5, 0, 0, substr(strtoupper(md5("Mytext".$sessioncode)), 0,6), $textcolor);
setcookie('tntcon',(md5("Mytext".$sessioncode)));
imagejpeg($my_image);
imagedestroy($my_image);
exit();
这里是processor.php
:
$verif_box = $_POST["verif_box"];
if (strtoupper($_COOKIE['tntcon']) == strtoupper($verif_box)) {
echo "right code";
} else {
echo "wrong code";
}
问题是,即使我输入了正确的验证码,我n processor.php文件总是给我“错误的代码”消息,我做错了什么?
我会检查cookie设置是否正确。您是否尝试在打印“正确的代码”的相同行中打印这两个值(cookie和post)? – AJJ