Thinkphp 3.2.2 验证码check_verify方法,只能验证一次

问题:

Thinkphp 3.2.2 验证码check_verify方法,只能验证一次。

function check_verify($code, $id = ''){
$verify = \Think\Verify();
return $verify->check($code, $id);
}
一般通常我们做的网站,验证码都会验证两次,一次是前台Ajax的提交验证,然后用户提交到后台再验证一次。但是用上面的check_verify第一次Ajax验证正确,但是提交到后台php再次调用函数check_verify,验证失败false。

js端验证code



function
checkCode(oo){ var patt = /^\w{4}$/; if(!patt.test(oo.value)){ $('#errVer').html('验证码输入不对'); return false; }else{ //利用Ajax实现:验证码是否正确 var url = '/index.php/Home/User/checkVerify/verifyCode/'+oo.value; /*alert(url); */ $.get(url,function(res){ if(res==true){ $('#errVer').html(''); }else{ $('#errVer').html('验证码错误,请刷新验证码'); return true; } }); }
  
return false;
}

服务器端

<?php
namespace Home\Controller;
use Think\Controller;
use Think\Verify;
//生成验证码方法
    public function verify(){
        $Verify = new Verify();
        $Verify->reset = true;
        $Verify->length = 4;
        $Verify->useNoise = false;
        $Verify->entry();
    } }


    //验证码是否正确
    
    public function checkVerify(){
        $Verify = new Verify();
        $Verify->reset = false;
        if($Verify->check(I('get.verifyCode'))){
            echo 1;
        }else{
            echo  0;
        }
    }

 

posted @ 2016-12-19 18:59  岁月静好13543  阅读(2261)  评论(0编辑  收藏  举报
AmazingCounters.com