日期:2014-05-17  浏览次数:20633 次

SESSION和验证码的奇怪问题
服务器安装的是apache

网站是用ThinkPHP框架开发的,自带的验证码图片

会员注册页面,用到了验证码,html页面:

<IMG id="verifyImg" src="__APP__/Base/verifyReg/" width="80" height="30" BORDER="0" ALT="" align="absmiddle">

注册时,程序判断验证码图片的代码:

if($_SESSION['verify'] != md5($_POST['verify']))
exit('验证码错误!');

程序应该是没有问题的,因为我在本机测试和服务器上测试是正常的

可是今天有个人说注册时,明明验证码输入是对的,结果提示:验证码错误!

他说用IE和FF浏览器都不行……

我自己上去测试注册了新会员可以,其他也有其他人注册会员,同样成功。

不知道像我这种情况,是哪里出了问题?

我怀疑是不是web环境:apache+php出了问题?

------解决方案--------------------
个别人不可以

说明问题跟客户端有关,或者全在客户端
------解决方案--------------------
加一句
if(isset($_SESSION['verify']) && $_SESSION['verify']!=NULL && $_SESSION['verify']!=''){
  //继续判断verify值是否相等;
}else{
  echo 'session[verify]值不存在 或为空,检查服务器的session功能是否正常';
}
------解决方案--------------------
他的浏览器设置问题。
------解决方案--------------------
引用:
服务器安装的是apache

网站是用ThinkPHP框架开发的,自带的验证码图片

会员注册页面,用到了验证码,html页面:

<IMG id="verifyImg" src="__APP__/Base/verifyReg/" width="80" height="30" BORDER="0" ALT="" align="absmiddle">

注册时,程序判断验证码图片的代……


楼主可以了解下无法正确操作用户的浏览器是否有禁用COOKIE等情况