Ajax 驗證因為是onblur 驗證總是提交兩次數據,第一次對,第二次錯。
思考一下,肯定是session 被清空了,
找到驗證碼配置里面有一項是驗證后是否重置
// 驗證成功后是否重置
'reset' => false
// 驗證碼
public function verify()
{
$config = [
// 驗證碼字體大小
'fontSize' => 13,
// 驗證碼位數
'length' => 4,
// 關閉驗證碼雜點
'useNoise' => false,
];
$captcha = new Captcha($config);
return $captcha->entry();
}
public function checkcapcha()
{
$config = array(
'reset' => false // 驗證成功后是否重置,—————這里才是有效的。
);
$captcha = new Captcha($config);
$code = input('captcha');
if( !$captcha->check($code))
{
return false;
}else{
return true;
}
}
但是需要加到,check里面而不是獲取驗證碼的config里面。此坑需注意!
文章來源:劉俊濤的博客 歡迎關注公眾號、留言、評論,一起學習。
若有幫助到您,歡迎點擊推薦,您的支持是對我堅持最好的肯定(*^_^*)