Heim  >  Artikel  >  Backend-Entwicklung  >  SESSION和验证码的奇怪问题

SESSION和验证码的奇怪问题

WBOY
WBOYOriginal
2016-06-23 14:11:33921Durchsuche

服务器安装的是apache

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

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

SESSION和验证码的奇怪问题

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

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功能是否正常';
}

加一句
if(isset($_SESSION['verify']) && $_SESSION['verify']!=NULL && $_SESSION['verify']!=''){
  //继续判断verify值是否相等;
}else{
  echo 'session[verify]值不存在 或为空,检查服务器的session功能是否正常';
}

嗯,这个方法不错,我试下。

如果SESSION['verify']值不存在或者为空的话,就应该可以判断是服务器的问题了吧

他的浏览器设置问题。

加一句
if(isset($_SESSION['verify']) && $_SESSION['verify']!=NULL && $_SESSION['verify']!=''){
  //继续判断verify值是否相等;
}else{
  echo 'session[verify]值不存在 或为空,检查服务器的session功能是否正常';
}

果然,有个朋友登录提示“session[verify]值不存在 或为空,检查服务器的session功能是否正常”

难道真的是服务器这端出了问题?

服务器安装的是apache

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

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

SESSION和验证码的奇怪问题

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

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

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

我看到有人说“PHP里边cookie和session没有必然关系”

那我现在的情况,应该是web环境问题了?如果真是这样,我打算换个环境

火狐中正常,其他浏览器都是表现为session未定义,

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn