ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
作者:pan_yuyuan 发布时间:2023-11-17 02:54:39
标签:ThinkPHP5,验证码
本文实例讲述了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程序设计有所帮助。
来源:https://blog.csdn.net/pan_yuyuan/article/details/81947804


猜你喜欢
- 计算机视觉方面朋友都需要跟图像打交道,在pytorch中图像与我们平时在matlab中见到的图像数据格式有所不同。matlab中我们通常使用
- 这篇文章将会为大家介绍GoFrame gset使用入门,为了让大家更好的理解,会简明扼要的分析一下集合类型Set的特点,对比一下Java、P
- 前言前几话主要讲解关于使用golang进行单元测试,在单元测试的上一层就是接口测试,本节主要讲使用golang进行接口测试,其中主要以htt
- 进行编程时,一般我们会给一个函数或者变量起一个名字,该名称是用于引用或寻址函数变量。但是有一个低调的函数,你不需要赋予它名字,因此该函数也叫
- 1,SELECT 语句 在SQL的世界里,最最基础的操作就是SELECT 语句了。在数据库工具下直接采用SQL
- 字符串字面量python 中的字符串字面量由单引号或双引号括起。‘hello’ 等同于 &l
- 一、背景交通大数据是由交通运行管理直接产生的数据(包括各类道路交通、公共交通、对外交通的刷卡、线圈、卡口、GPS、视频、图片等数据)、交通相
- 这也许是学习一门语言时大家都会问的一个问题,其实我个人认为无所谓哪个最好,关键在于哪个用着顺手,方便。还有很多人乐于去做排名,去看排名,哪个
- 随着SaaS服务的流行,越来越多的人选择在各个平台上编写文档,制作表格并进行分享。同时,随着Markdown语法的破圈,很多平台开始集成支持
- 一、安装1、安装git Windows 客户端—GitHub Desktop具有git功能的Windows客户端软件有很
- 一、文件的编码计算机中有许多可用编码:UTF-8GBKBig5等UTF-8是目前全球通用的编码格式除非有特殊需求,否则,一律以UTF-8格式
- 今早无聊。。。7点起来突然想写个刷访问量的。。那就动手吧仅供测试,不建议刷访问量哦~~很简单的思路,第一步提取代理ip,第二步模拟访问。提取
- Golang有很多第三方包,其中的 viper 支持读取多种配置文件信息。本文只是做一个小小demo,用来学习入门用的。1、安装go get
- 安装 SQL2000 时,系统经常会提示:操作被挂起,要求重新启动计算机,如图1: 图1重新启动后,再次安装时问题仍然存在。解决办
- 1、简介在python自动化中,我们传递一些参数是需要从文件中读取过来的,读取过来的字典并非python对象数据类型而是string类型。这
- 接触Python时间不长,对有些知识点,掌握的不是很扎实,我个人比较崇尚不管学习什么东西,首先一定回去把基础打的非常扎实了,再往高处走。今天
- 上一篇列出了Perl中定义数组,对象的方式与JS的异同。这里继续补充数组,哈希的相关操作。一、数组可以对数组进行增删,插入。与JS不同的是这
- Python 是支持面向对象的,很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高,但是如果你写的多了或者某一对象非常复杂了
- 多个值合并展示现在我们有如图一到图二的需求怎么做?如下sql:SELECT id,GROUP_CONCAT(DISTINCT str) as
- 利用百度词典进行中翻英import urllib2import reimport sysreload(sys)sys.setdefaulte