兩種驗證碼驗證實作,一種直接在form表單送出按鈕實作驗證,一種使用ajax傳遞參數實作驗證:
1、直接在form表單送出按鈕實作驗證,在控制器VerifyController.class.php中寫入如下代碼:
namespace Home\Controller;
use Think\Controller;
class VerifyController extends Controller {
public function index() {
$this->display();
}
public function checkLogin() {
$verify=new \Think\Verify();
$code=I('post.verify');//表單驗證碼
if($verify->check($code)){
$this->success('驗證碼正确');
}else{
$this->error('驗證碼錯誤');
}
}
public function verify()
{
// 執行個體化Verify對象
$verify = new \Think\Verify();
// 配置驗證碼參數
$verify->fontSize = 14; // 驗證碼字型大小
$verify->length = 4; // 驗證碼位數
$verify->imageH = 34; // 驗證碼高度
$verify->useImgBg = true; // 開啟驗證碼背景
$verify->useNoise = false; // 關閉驗證碼幹擾雜點
$verify->entry();
}
}
在視圖Verify/index.html中的代碼如下:
驗證
2、使用ajax傳遞參數實作驗證,在控制器VerifyController.class.php中的代碼如下:
namespace Home\Controller;
use Think\Controller;
class VerifyController extends Controller {
public function index() {
$this->display();
}
public function checkLogin() {
$verify=new \Think\Verify();
$code=$_POST['code'];//ajax驗證碼擷取
if($verify->check($code)){
$this->ajaxReturn(1);
}else{
$this->ajaxReturn(0);
}
}
public function verify()
{
// 執行個體化Verify對象
$verify = new \Think\Verify();
// 配置驗證碼參數
$verify->fontSize = 14; // 驗證碼字型大小
$verify->length = 4; // 驗證碼位數
$verify->imageH = 34; // 驗證碼高度
$verify->useImgBg = true; // 開啟驗證碼背景
$verify->useNoise = false; // 關閉驗證碼幹擾雜點
$verify->entry();
}
}
視圖Verify/index.html中的代碼如下:
驗證
$(document).ready(function(){
$("#ver").click(function(){
var code=$("#verify").val();//擷取輸入驗證碼
var url=$('form').attr('action');//擷取表單action的值
$.ajax({
type:"post",
url:url,
data:{"code":code},
error:function(request){
alert("ajax錯誤");
},
success:function(data){
if(data){
alert("正确")
}else{
alert('錯誤')
}
}
});
});
});
在第2種方法,不要忘記下載下傳jquery.min.js檔案下載下傳位址:http://www.jq22.com/jquery-info122
在配置檔案Common/conf/config.php中配置位址:
return array(
'TMPL_PARSE_STRING'=>array(
'__JS__'=>__ROOT__.'/Public/JS',
),
);
以上所述是小編給大家介紹的thinkphp驗證碼的實作(form、ajax使用驗證),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對聚米學院網站的支援!