不知道为什么,我的验证码,当什么都不输入时,点登录弹出输入正确,输入正确时弹出输入错误,可以麻烦再帮我看看吗?
<?php
//1、创建一个真空彩色图像
$image = imagecreatetruecolor(100,30);
//2、为图像分配颜色
$bgcolor = imagecolorallocate($image,255,255,255);
//3、填充图像
imagefill($image,0,0,$bgcolor);
//4、在图像中添加随机数字
// 数字+字母验证码
for ($i=0; $i < 4; $i++) {
$fontsize = 8;
// 0-120 为深色区,能更好的在浅色背景中识别验证码
$fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
// 制作字典 并去除容易混淆的字符(l 与 1, z 与 2,等等)
$data = 'abcdefghijkmnqprstuvwxy3456789';
// 通过截取字符串内容方法,获得随机字符
$fontcontent = substr($data, rand(0,strlen($data)),1);
$captcha_code = $fontcontent;
// 生成的验证内容不重叠
$x = ($i*100/4) + rand(5,10);
// 生成的验证内容不齐平
$y = rand(5,10);
// 用 $fontcolor 颜色将字符串 $fontcontent 画到 $image 所代表的图像的 $x,$y 坐标处
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}
//增加干扰元素
$_SESSION['authcode'] = $captcha_code;
for($i=0;$i<200;$i++){
$pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
imagesetpixel($image,rand(1,99),rand(1,99),rand(1,99));
}
//增加线干扰
for($i=0;$i<3;$i++){
$linecolor = imagecolorallocate($image,rand(80,200),rand(80,200),rand(80,200));
imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
}
header('content-type:image/png');
imagepng($image);
imagedestroy($image);
zzmm.php
<?php
header('content-type:text/html;charset=utf-8');
if(isset($_REQUEST['authcode'])){
session_start();
if(strtolower($_REQUEST['authcode']) == $_SESSION['authcode']){
echo '输入正确';
}else{
echo '输入错误';
}
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>验证码确认</title>
</head>
<body>
<form method="post" action="zzmm.php">
<p>验证码图片:<img border = "1" src="zzm.php?r=<?php echo rand();?>"width:100px,height:100px" /></p>
<p>请输入验证码内容:<input type="text" name="authcode" value="" /></p>
<p> <input type="submit" value="提交" style="padding: 6px 20px;" /></p>
</form>
</body>
</html>
梅超疯
慕村1106498