当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例

发布:smiling 来源: PHP粉丝网  添加日期:2022-02-10 09:49:54 浏览: 评论:0 

本文实例讲述了ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能,分享给大家供大家参考,具体如下:

验证码现在是用户登录、支付等很多环节的必备元素,ThinkPHP5&5.1给我们提供了验证码的生成方式,也是非常的简单,在这里写一个完整的验证码验证的使用方法,供大家参考。

前台用户在登录时候需要验证码验证才能登录,首先使用Composer安装think-captcha扩展包:

composer require topthink/think-captcha

在需要显示验证码的地方:

  1. <tr> 
  2.  <th>请输入验证码:</th> 
  3.  <td> 
  4.   <input type="text" name="captcha" class="inp01"/> 
  5.   <img src="{:url('index/login/verify')}" alt="验证码加载中" id="captcha"/> 
  6.  </td> 
  7. </tr> 

其中verify是生成验证码的方法:

  1. public function verify() 
  2.   $config =  [ 
  3.     // 验证码字体大小 
  4.     'fontSize'  =>  15, 
  5.     // 验证码位数 
  6.     'length'   =>  3, 
  7.     // 关闭验证码杂点 
  8.     'useNoise'  =>  false, 
  9.   ]; 
  10.   $captcha = new \think\captcha\Captcha($config); 
  11.   return $captcha->entry(); 

其中$config是验证码的配置项,具体有哪些配置内容可以参考手册。

使用Ajax或者jquery-validate进行验证码的验证,也可以提交以后进行验证:

  1. public function checkcapcha() 
  2.   $captcha = new \think\captcha\Captcha(); 
  3.   if( !$captcha->check(input('post.captcha'))) 
  4.   { 
  5.    return false; 
  6.   }else
  7.     return true; 
  8.   } 

为了实现点击验证码刷新的功能,还要写js代码:

  1. $("#captcha").click(function(event) { 
  2.   this.src = "{:url('index/login/verify')}?"+Math.random(); 
  3. }); 

这样就实现了验证码的验证功能,是不是非常简单?

Tags: ThinkPHP5验证码生成

分享到: