标签:
ThinkPHP之中已经封装好了验证码的调用,但是关于手册,缺失了HTML之中以及、实际操作之中的点击ajax就会刷新验证码ajax代码;现在分享一下;看客老爷们注意啦!
放大招啦!!!三分归元气---》》》
在Indexcontroller.class.php里面,控制器中是酱紫的(传入参数不作介绍):
1 public function verify() 2 { 3 $config = array( 4 ‘fontSize‘ => 35, // 验证码字体大小 5 ‘length‘ => 4, // 验证码位数 6 ‘useNoise‘ => false, // 关闭验证码杂点 7 ‘useCurve‘ => false, // 关闭曲线干扰 8 ); 9 $Verify = new \Think\Verify($config); 10 $Verify->entry(); 11 }
HTML中是酱紫调用的
1 <div class="contact_r col-md-4"> 2 <label class="contact_rc"><span><input class="inp_yzm" type="text" value="验证码" name=‘data[code]‘ ></span></label> 3 <img class="yzmPic" src="{:U(‘Index/verify‘)}" id="verify-img"> 4</div>
为了实现点击验证码即刷新:
1 <script type="text/javascript"> 2 $(document).ready(function(){ 3 //点击刷新验证码 4 var verifyUrl = $(‘#verify-img‘).attr(‘src‘); 5 $(‘#verify-img‘).click(function () { 6 $(this).attr(‘src‘, verifyUrl + ‘?‘ + Math.random()); 7 }); 8 }) 9 </script>
现在就是在接收到POST过来(当然是POST验证码的数据的)控制器之中验证验证码了
1 $input=I(‘post.‘); 2 3 $data[‘code‘]=$input[‘data‘][‘code‘]; 4 5 if(!check_verify($data[‘code‘])){ 6 $this->error(‘验证码错误‘,U(‘Index/index‘),3);exit(); 7 }
只要一个页面只有一个验证码的,在任何页面都是可以这样用的;都是调用同一个方法生成验证码;都是同一个方法验证验证码;完全不用考虑验证码的ID什么的;
上面习惯性地写上ThinkPHP之中自带的I方法过滤的;防SQL注入;就像在新浪博客里面你输入的script标签的东西全部都会被置换为空啊,兄弟
标签:
原文地址:http://www.cnblogs.com/haveadream435/p/5759188.html