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;
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM