两种验证码验证实现,一种直接在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中的代码如下:
<title></title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><body><div class="form-group has-feedback"><span></span></div><div class="col-xs-4"><button type="submit">验证</button></div>
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中的代码如下:
<title></title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script src="__JS__/jquery-2.1.0.min.js" ></script><body><div class="form-group has-feedback"><span></span></div><div class="col-xs-4"><button type="button" id="ver">验证</button></div><script>$(document).ready(function(){/*ajax验证码*/$("#ver").click(function(){var c<b style="color:transparent">本文来源gao@!dai!ma.com搞$$代^@码!网!</b><strong>搞gaodaima代码</strong>ode=$("#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>
在第2种方法,不要忘记下载jquery.min.js文件下载地址:http://www.jq22.com/jquery-info122
在配置文件Common/conf/config.php中配置地址:
return array( /*地址替换*/'TMPL_PARSE_STRING'=>array( '__JS__'=>__ROOT__.'/Public/JS',),);
以上所述是小编给大家介绍的thinkphp验证码的实现(form、ajax使用验证),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对搞代码网站的支持!