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