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 相关文章推荐
动态新闻发布的实现及其技巧
Oct 09 PHP
php相当简单的分页类
Oct 02 PHP
discuz authcode 经典php加密解密函数解析
Jul 12 PHP
php 连接mssql数据库 初学php笔记
Mar 01 PHP
洪恩在线成语词典小偷程序php版
Apr 20 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
PHP判断指定时间段的2个方法
Mar 14 PHP
codeigniter中实现一次性加载多个view的方法
Mar 20 PHP
Yii针对添加行的增删改查操作示例
Oct 18 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 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
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
js+cookies实现悬浮购物车的方法
2015/05/25 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
Vue实现图片与文字混输效果
2019/12/04 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
python定时器使用示例分享
2014/02/16 Python
Python基于DES算法加密解密实例
2015/06/03 Python
Python字符串切片操作知识详解
2016/03/28 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
详解Python装饰器
2019/03/25 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
python 内置函数汇总详解
2019/09/16 Python
python中count函数简单的实例讲解
2020/02/06 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
小区门卫岗位职责
2013/12/31 职场文书
商场拾金不昧表扬信
2014/01/13 职场文书
学校督导评估方案
2014/06/10 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
工作简历自我评价
2015/03/11 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
无故旷工检讨书
2015/08/15 职场文书