thinkphp 驗證碼
阿新 • • 發佈:2017-05-07
input 一個 cli view 驗證 scrip str 增加 兼容性
thinkphp中的驗證碼是可以直接調用的,非常方便,我們看一下 Think 文件夾下 有一個名為verify.class.php的文件
首先 我們要有一個模板,在view文件夾下寫了一個名為 xx.html的文件,裏面啥也沒寫, 這時 我們要在這個文件裏面顯示出驗證碼來
function xx()
{
$this->show();
}
function yzm()
{
$yzm=new \Think\verify();
$yzm->entry();
}
想要驗證碼顯示出來,那麽我們就需要調一下yzm方法了,在xx.html中表示為
<div>
<img src="__CONTROLLER__/yzm" id="img1"/>
</div>
這樣就可以把驗證碼調出來了 ,驗證碼調出來之後我們需要使用它,那麽在xx.html中會有一個input表單 會有驗證的按鈕
<div>
<input type="text" id="va"/>
<input type="button" id="btn"/>
</div>
下面我寫的js部分用的是jquery 所以前面必須要引入jquery包的
<script type="text/javascript">
$( "#btn").click(function(){
var va = $("#va").val();
$.ajax({
url:"__CONTROLLER__/yz",
data:{va:va},
type:"POST",
dataType:"TEXT",
success:function(data){
if(data)
{
alert("驗證成功");
}
else
{
alert("驗證失敗");
}
}
});
})
</script>
現在我們去寫yz的方法
function yz()
{
$yzm=new \Think\verify();
$va=$_POST["va"];
$aa=$yzm->check($va);
$this->ajaxReturn($aa,"eval");
}
這樣寫完了之後,我們會發現一個問題 就是點擊圖片的時候不會自動換,那麽我們就要給圖片加一個點擊事件,每點擊一次 就讓路徑再重新走一遍
$("#img1").click(function(){
//如果只是在除了ie瀏覽器的其他瀏覽器上運行
$(this).attr("src","__CONTROLLER__/yzm");
//如果要增加其兼容性的話,那麽我們就要取一個隨機數了
$a=Math.random()*10;
$(this).attr("src","__CONTROLLER__/yzm/aa"+a);
})
thinkphp 驗證碼