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 友好URL的实现(吐血推荐)
Oct 04 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
Jun 01 PHP
php explode函数实例代码
Feb 27 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
PHP Try-catch 语句使用技巧
Feb 28 PHP
PHP实现多关键字加亮功能
Oct 21 PHP
基于PHP-FPM进程池探秘
Oct 17 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
php微信开发之音乐回复功能
Jun 14 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 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
1.PHP简介
2006/10/09 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
jquery last-child 列表最后一项的样式
2010/01/22 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
对于Python中线程问题的简单讲解
2015/04/03 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
python字典操作实例详解
2017/11/16 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
python aiohttp的使用详解
2019/06/20 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
机械电子工程专业自荐书
2014/06/10 职场文书
党的群众路线教育实践活动调研报告
2014/11/03 职场文书
股权转让协议范本
2014/12/07 职场文书
音乐教师求职信范文
2015/03/20 职场文书
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android
Django框架中视图的用法
2022/06/10 Python