本人新手一枚,最近在做一个网站注册登录页面。
使用ThinkPHP模板,用到了tp自带的验证码,相当方便。
但是在写注册功能时碰到一个问题。
我的逻辑是:用户填写验证码,后台AJAX验证,给出正确与否的提示;待真正form提交时,再进行一次验证。
问题是,当ajax验证之后,session中的verify_code和verify_time被清除掉了;当第二次验证时,因为session中已经没有值了,所以永远报错。
经过一番询问,终于找到了答案。
在Verify这个类中,配置项$config有一个参数‘reset’,表示验证成功后是否重置,默认为true。
在ajax验证的时候,把传入的参数中‘reset’值设为false即可解决问题。