1. 程式人生 > >thinkphp 驗證碼

thinkphp 驗證碼

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 驗證碼