> 백엔드 개발 > PHP 튜토리얼 > SESSION和验证码的奇怪问题

SESSION和验证码的奇怪问题

WBOY
풀어 주다: 2016-06-23 14:11:33
원래의
924명이 탐색했습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿