技术笔记
一名已转行的程序员ThinkPHP3.2.3版本验证码异步第二次验证时失败的问题解决
2017-05-11 / 代码笔记 / 589 次围观 / 0 次吐槽拜读了版块内各位大神给出的建议,发现thinkPHP的验证方法会在第一次验证成功(验证码输入正确)后,自动销毁SESSION中的验证码信息(这点我好像没有在官方手册中看到),这样的话,在提交表单后,session中已经没有验证码的信息了,所以第二次验证的代码你怎么改它不会成功。因此,如果需要二次验证,则需要在前一次验证的方法中传入array('reset'=>false)参数(因为Verify这个类中有这个属性,默认值是true),这样处理以后,验证码在SESSION中的信息不会被销毁,以便于二次验证。下面是示例代码:
$verify = new \Think\Verify(array('reset'=>false)); if(!$verify->check($captcha)){ $array = array ( 'status'=>'2', "return"=>'验证码错误' ); $this->ajaxReturn($array); }else{ $array = array ( 'status'=>'1', "return"=>'验证码正确' ); $this->ajaxReturn($array); }
推荐您阅读更多有关于“”的文章
Powered By Z-BlogPHP
Copyright 技术笔记 Rights Reserved.
额 本文暂时没人评论 来添加一个吧
发表评论