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

2020-10-20 10:06:47 浏览数 (1)

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

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

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

代码语言:javascript复制
composer require topthink/think-captcha

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

代码语言:javascript复制
<tr 
 <th 请输入验证码:</th 
 <td 
  <input type="text" name="captcha" class="inp01"/ 
  <img src="{:url('index/login/verify')}" alt="验证码加载中" id="captcha"/ 
 </td 
</tr 

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

代码语言:javascript复制
public function verify()
{
  $config =  [
    // 验证码字体大小
    'fontSize'  =   15,
    // 验证码位数
    'length'   =   3,
    // 关闭验证码杂点
    'useNoise'  =   false,
  ];
  $captcha = new thinkcaptchaCaptcha($config);
  return $captcha- entry();
}

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

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

代码语言:javascript复制
public function checkcapcha()
{
  $captcha = new thinkcaptchaCaptcha();
  if( !$captcha- check(input('post.captcha')))
  {
   return false;
  }else{
    return true;
  }
}

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

代码语言:javascript复制
$("#captcha").click(function(event) {
  this.src = "{:url('index/login/verify')}?" Math.random();
});

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

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

0 人点赞