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 相关文章推荐
PHP字符转义相关函数小结(php下的转义字符串)
Apr 12 PHP
php继承的一个应用
Sep 06 PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 PHP
教你如何解密 “ PHP 神盾解密工具 ”
Jun 20 PHP
php多个文件及图片上传实例详解
Nov 10 PHP
PHP学习笔记(三):数据类型转换与常量介绍
Apr 17 PHP
php检测文本的编码
Jul 26 PHP
php获取远程文件内容的函数
Nov 02 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 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
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
php explode函数实例代码
2012/02/27 PHP
php修改指定文件后缀的方法
2014/09/11 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
php生成HTML文件的类方法
2019/10/11 PHP
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
JavaScript如何实现跨域请求
2016/08/05 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
Python实现简单字典树的方法
2016/04/29 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
2017/12/25 Python
python pandas修改列属性的方法详解
2018/06/09 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
市政施工员自我鉴定
2014/01/15 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
公司领导班子对照材料
2014/08/18 职场文书
阿甘正传观后感
2015/06/01 职场文书
三八节活动主持词
2015/07/04 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android