tp6 的验证码与session

今天在用tp6的验证码时候,做登录验证。验证码报错,死活提示验证码失败。

经过一些测试才知道,tp6的session是默认不开启。需要手动取消注释。

tp6 的验证码与session_第1张图片

验证码和session的关系。

其实他是吧验证码的内容存到了session中,所以要是用验证码必须开启session。

这是他的Captcha类
可以看到他在构造函数先注入了一个session类创建一个session的对象保存起来,在以后的session操作就靠这个对象了。

tp6 的验证码与session_第2张图片

在他的创建验证码的方法中可以看到,他通过session的对象向session中存入了一个'captcha'的key.

tp6 的验证码与session_第3张图片

在他对验证码进行验证的时候:

先去获取啦一下session中储存的验证码信息。

tp6 的验证码与session_第4张图片

这就是为什么在使用tp6的验证码的时候必须开启session,在tp6之前的时代,都是根据你php.ini中是否开启啦session。在tp6他自己封装了session的实现,所以需要你手动开启session。切记!!!

你可能感兴趣的:(php)