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


Posted in PHP onFebruary 07, 2020

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

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

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

composer require topthink/think-captcha

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

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

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

public function verify()
{
  $config =  [
    // 验证码字体大小
    'fontSize'  =>  15,
    // 验证码位数
    'length'   =>  3,
    // 关闭验证码杂点
    'useNoise'  =>  false,
  ];
  $captcha = new \think\captcha\Captcha($config);
  return $captcha->entry();
}

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

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

public function checkcapcha()
{
  $captcha = new \think\captcha\Captcha();
  if( !$captcha->check(input('post.captcha')))
  {
   return false;
  }else{
    return true;
  }
}

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

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

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

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

PHP 相关文章推荐
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
PHP中英混合字符串截取函数代码
Jul 17 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
PHP中file_get_contents高?用法实例
Sep 24 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 PHP
php7性能提升的原因详解
Oct 13 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
Feb 07 #PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 #PHP
php测试kafka项目示例
Feb 06 #PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
Feb 06 #PHP
PHP实现常用排序算法的方法
Feb 05 #PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 #PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 #PHP
You might like
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
使用实现pandas读取csv文件指定的前几行
2018/04/20 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
python3安装crypto出错及解决方法
2019/07/30 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
人事任命书怎么写
2014/06/05 职场文书
升国旗演讲稿
2014/09/05 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
信用卡工资证明范本
2014/10/17 职场文书
群众路线学习心得体会范文
2014/11/05 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
2016年禁毒宣传活动总结
2016/04/05 职场文书
导游词之江南周庄
2019/12/06 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
MongoDB数据库的安装步骤
2021/06/18 MongoDB