首先我们在控制器中 比如Usercontroller.class.php 中创建一个方法 (实例化Verify验证码类)
public function Verify() { $Verify = new \Think\Verify(); $Verify->entry(); }
这个方法它会自动保存验证码到session中,但是好像是md5加密过后的;
前端我们用大U方法引用
验证码:<input type="text" name="inputVerify" id="verify"> <img style="width: 100px;height: 40px" src="<-:U('DtWeb/User/Verify',array())->" οnclick="this.src='<-:U('DtWeb/User/Verify',array())->'"/>onclick 是点击更换验证码的意思;我们再把 inputVerify 拿到传到后端去判断tp也给好有方法去验证,如下:/** * 检测验证码 * @param $code 验证码参数 * @param string $id * @return bool */ function check_verify($code, $id = ''){ $verify = new \Think\Verify(); return $verify->check($code, $id); }
我们再调用上面的方法就ok了
public function user_login() { $user = D('User','Logic')->user_login(); $inputVerify = $_REQUEST['inputVerify']; //print_r($_SESSION) ;exit; if($this->check_verify($inputVerify)) CallbackData($user,$code=200,$desc='登录成功'); else CallbackData($data=array(),$code='404',$desc = '验证码错误'); }