Rumah  >  Artikel  >  pembangunan bahagian belakang  >  SESSION和验证码的奇怪问题

SESSION和验证码的奇怪问题

WBOY
WBOYasal
2016-06-23 14:11:33921semak imbas

服务器安装的是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未定义,

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn