thinkphp验证码的实现(form、ajax实现验证)

时间:2021-05-26

两种验证码验证实现,一种直接在form表单提交按钮实现验证,一种使用ajax传递参数实现验证:

1、直接在form表单提交按钮实现验证,在控制器VerifyController.class.php中写入如下代码:

namespace Home\Controller;use Think\Controller;class VerifyController extends Controller {public function index() {$this->display();}public function checkLogin() {$verify=new \Think\Verify();$code=I('post.verify');//表单验证码if($verify->check($code)){$this->success('验证码正确');}else{$this->error('验证码错误');}}public function verify(){// 实例化Verify对象$verify = new \Think\Verify();// 配置验证码参数$verify->fontSize = 14; // 验证码字体大小$verify->length = 4; // 验证码位数$verify->imageH = 34; // 验证码高度$verify->useImgBg = true; // 开启验证码背景$verify->useNoise = false; // 关闭验证码干扰杂点$verify->entry();}}

在视图Verify/index.html中的代码如下:

<!DOCTYPE html><html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><form action="{:U('verify/checkLogin')}" method="post"><div class="form-group has-feedback"><input type="text" name="verify" id="verify" placeholder="验证码" style="width:100px;" /><span style="right:120px;"></span><img class="verify" src="{:U(verify)}" alt="验证码" onClick="this.src=this.src+'?'+Math.random()" /></div><div class="col-xs-4"><button type="submit" >验证</button></div></form></body></html>

2、使用ajax传递参数实现验证,在控制器VerifyController.class.php中的代码如下:

namespace Home\Controller;use Think\Controller;class VerifyController extends Controller {public function index() {$this->display();}public function checkLogin() {$verify=new \Think\Verify();$code=$_POST['code'];//ajax验证码获取if($verify->check($code)){$this->ajaxReturn(1);}else{$this->ajaxReturn(0);}}public function verify(){// 实例化Verify对象$verify = new \Think\Verify();// 配置验证码参数$verify->fontSize = 14; // 验证码字体大小$verify->length = 4; // 验证码位数$verify->imageH = 34; // 验证码高度$verify->useImgBg = true; // 开启验证码背景$verify->useNoise = false; // 关闭验证码干扰杂点$verify->entry();}}

视图Verify/index.html中的代码如下:

<!DOCTYPE html><html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script src="__JS__/jquery-2.1.0.min.js" ></script></head><body><form action="{:U('verify/checkLogin')}" method="post"><div class="form-group has-feedback"><input type="text" name="verify" id="verify" placeholder="验证码" style="width:100px;" /><span style="right:120px;"></span><img class="verify" src="{:U(verify)}" alt="验证码" onClick="this.src=this.src+'?'+Math.random()" /></div><div class="col-xs-4"><button type="button" id="ver">验证</button></div></form><script>$(document).ready(function(){$("#ver").click(function(){var code=$("#verify").val();//获取输入验证码var url=$('form').attr('action');//获取表单action的值$.ajax({type:"post",url:url,data:{"code":code},error:function(request){alert("ajax错误");},success:function(data){if(data){alert("正确")}else{alert('错误')}}});});});</script></body></html>

在第2种方法,不要忘记下载jquery.min.js文件下载地址:http://mon/conf/config.php中配置地址:

return array( 'TMPL_PARSE_STRING'=>array( '__JS__'=>__ROOT__.'/Public/JS',),);

以上所述是小编给大家介绍的thinkphp验证码的实现(form、ajax使用验证),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章