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 相关文章推荐
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
php实现简单洗牌算法
Jun 18 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
Mar 18 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
Smarty模板引擎缓存机制详解
May 23 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
php微信开发之图片回复功能
Jun 14 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
一个取得文件扩展名的函数
2006/10/09 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
php foreach如何跳出两层循环(详解)
2016/11/05 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
2019/04/25 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
javascript实现导航栏分页效果
2019/06/27 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
Python牛刀小试密码爆破
2011/02/03 Python
linux下安装easy_install的方法
2013/02/10 Python
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
python经典趣味24点游戏程序设计
2019/07/26 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
国税会议欢迎词
2014/01/16 职场文书
初中学生期末评语
2014/04/24 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
oracle索引总结
2021/09/25 Oracle
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python