PHP
·
发表于 5年以前
·
阅读量:8303
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);
})