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 301转向实现代码
Sep 18 PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
php模板函数 正则实现代码
Oct 15 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
Jun 29 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
PHP使用Mysql事务实例解析
Sep 08 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 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执行速度全攻略(上)
2006/10/09 PHP
动态生成gif格式的图像要注意?
2006/10/09 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
浅析javascript的return语句
2015/12/15 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
python之import机制详解
2014/07/03 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
pyqt5实现登录界面的模板
2020/05/30 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
使用css3和jquery实现可伸缩搜索框
2014/02/12 HTML / CSS
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
2014信息公开实施方案
2014/02/22 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
家长对老师的评语
2014/04/18 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
项目经理岗位职责
2015/01/31 职场文书
廉洁自律证明
2015/06/24 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
Java界面编程实现界面跳转
2022/06/16 Java/Android