在thinkPHP中有一個專門的類文件能夠自動生成驗證碼 的,php
Thinkphp/Library/Think/Verify.class.phpajax
public function code(){
$config = array(
'fontSize' => 20, // 驗證碼字體大小
'length' => 4, // 驗證碼位數
'useNoise' => false, // 關閉驗證碼雜點
);
$Verify = new \Think\Verify($config);
$Verify->entry();
}字體
Verify類中的entry()是自動生成驗證碼的,驗證碼的大小和效果能夠經過配置屬性$config修改,能夠去Verify.class.php看下源碼是怎麼樣的code
驗證驗證碼:源碼
public function code($code){
$verify = new \Think\Verify($config);
return $verify->check($code);
}io
當使用ajax進行無刷新驗證的成功的時候,提交表單後臺再一次進行驗證時,會出現驗證碼錯誤,出現這樣的緣由是由於,配置屬性裏面有一項reset 的值爲true,這個是爲true的時候,就是驗證碼驗證成功後會重置驗證碼,因此當ajax驗證成功的時候,表單提交再驗證的話就會失敗,解決:function
public function code($code){
$config = array(
'reset' => false, //驗證成功後不重置驗證碼
);
$verify = new \Think\Verify($config);
return $verify->check($code);
}驗證碼