为了账号安全,请及时绑定邮箱和手机立即绑定

php验证码的问题,求助

php验证码的问题,求助

Momo_____ 2017-06-07 07:19:27
不知道为什么,我的验证码,当什么都不输入时,点登录弹出输入正确,输入正确时弹出输入错误,可以麻烦再帮我看看吗?<?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<?phpheader('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>
查看完整描述

2 回答

?
梅超疯

TA贡献9条经验 获得超0个赞

不知道,,p

查看完整回答
反对 回复 2017-06-27
?
慕村1106498

TA贡献12条经验 获得超13个赞

f(!strtolower($_REQUEST['authcode']) == $_SESSION['authcode']){

echo '输入正确';

}else{

echo '输入错误';

}

exit();

}

加上!,取反就好了

查看完整回答
反对 回复 2017-06-07
  • 2 回答
  • 0 关注
  • 1894 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信