thinkphp中的验证码是可以直接调用的,非常方便,我们看一下 Think 文件夹下 有一个名为verify.class.php的文件
首先 我们要有一个模板,在view文件夹下写了一个名为 xx.html的文件,里面啥也没写, 这时 我们要在这个文件里面显示出验证码来
1
2
3
4
5
6
7
8
9
|
function xx()
{
$this ->show();
}
function yzm()
{
$yzm = new \Think\verify();
$yzm ->entry();
}
|
想要验证码显示出来,那么我们就需要调一下yzm方法了,在xx.html中表示为
1
2
3
|
< div >
< img src = "__CONTROLLER__/yzm" id = "img1" />
</ div >
|
这样就可以把验证码调出来了 ,验证码调出来之后我们需要使用它,那么在xx.html中会有一个input表单 会有验证的按钮
1
2
3
4
|
< div >
< input type = "text" id = "va" />
< input type = "button" id = "btn" />
</ div >
|
下面我写的js部分用的是jquery 所以前面必须要引入jquery包的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<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的方法
1
2
3
4
5
6
7
|
function yz()
{
$yzm = new \Think\verify();
$va = $_POST [ "va" ];
$aa = $yzm ->check( $va );
$this ->ajaxReturn( $aa , "eval" );
}
|
这样写完了之后,我们会发现一个问题 就是点击图片的时候不会自动换,那么我们就要给图片加一个点击事件,每点击一次 就让路径再重新走一遍
1
2
3
4
5
6
7
8
9
|
$( "#img1" ).click( function (){
//如果只是在除了ie浏览器的其他浏览器上运行
$( this ).attr( "src" , "__CONTROLLER__/yzm" );
//如果要增加其兼容性的话,那么我们就要取一个随机数了
$a=Math.random()*10;
$( this ).attr( "src" , "__CONTROLLER__/yzm/aa" +a);
})
|
原文链接:http://www.cnblogs.com/xiaodouding/p/6819666.html