TP5.0框架下的think-captcha验证码扩展包

2024-02-21 06:48

本文主要是介绍TP5.0框架下的think-captcha验证码扩展包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前在进行前端登陆页面实现的过程中,用到了TP5.0自带的think-captcha验证码包,现在在这里补充上介绍和用法。

首先,如果你是TP5.05之前的版本,需要自己去下载captcha,如果想从通过命令行直接下载需要安装composer,5.05之后的版本会自带think-captcha包。

thinkphp\vendor\topthink\think-capcha

1.html中验证码的显示:

<div>{:captcha_img()}</div>


<div><img src="{:captcha_src()}" alt="captcha" /></div>

2.验证码判断

js方法:

function check_verify($code, $id = ''){$captcha = new Captcha();return $captcha->check($code, $id);
}


或直接在php中使用tp5.0封装的 captcha_check()方法来判断用户输入的验证码是否正确

3.验证码配置

config.php

通过对验证码配置的修改可以实现自定义验证码。

4.博主实现的验证码实例:

点击图片可以切换验证码:

实现验证码随机切换:

在点击img图片时,把当前验证码图片加一个随机数,从而切换成任意新的验证码图片

代码:

.html:

<div class="form-bottom"><form role="form" action="{:url('check')}" method="post" class="login-form"><div class="form-group"><label class="sr-only" for="form-username">Username</label><input type="text" name="name" placeholder="用户名/邮箱/手机号" class="form-control" id="form-username"><div class="loginerror" style="display: none;">用户名不存在</div></div><div class="form-group"><label class="sr-only" for="form-password">Password</label><input type="password" name="pass" placeholder="密码" class="form-password form-control" id="form-password"></div><div class="form-group"><label class="sr-only" for="form-password">Code</label><input type="text" name="code" placeholder="验证码" class="form-password form-control" id="form-code"><img src="{:captcha_src()}" alt="captcha" οnclick="this.src=this.src+'?'+Math.random()" style="margin: 5px;height: 50px;width: 200px;"/></div><div class="form-group"><label class="radio-inline"><input type="radio" name="r" id="r1" value="option1" checked> 用户</label><label class="radio-inline"><input type="radio" name="r" id="r2"  value="option2"> 管理员</label></div>
<!--                                 <div><label class="radio-inline"><input type="radio" name="user" id="r1" value="user" checked>用户</label><label class="radio-inline"><input type="radio" name="manager" id="r2" value="manager">管理员</label>  </div> --><button type="submit" class="btn">登陆</button><div><p id="form-p"><a href="#">忘了密码?</a> | <a href="../register/register.html">注册账号</a> | <a href="../register/test.html">意见反馈</a></p></div></form>


.php:

    public function checkCode(){$code=input('post.code');//验证码判断if(captcha_check($code)){//echo"验证码正确";//echo"<hr>";echo "<script>alert('登陆成功!!!!!!!!!!');</script>";return true;}else{echo "<script>alert('验证码错误');history.go(-1);</script>";return false;}}

 

这篇关于TP5.0框架下的think-captcha验证码扩展包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730893

相关文章

SpringBoot整合kaptcha验证码过程(复制粘贴即可用)

《SpringBoot整合kaptcha验证码过程(复制粘贴即可用)》本文介绍了如何在SpringBoot项目中整合Kaptcha验证码实现,通过配置和编写相应的Controller、工具类以及前端页... 目录SpringBoot整合kaptcha验证码程序目录参考有两种方式在springboot中使用k

SpringBoot如何集成Kaptcha验证码

《SpringBoot如何集成Kaptcha验证码》本文介绍了如何在Java开发中使用Kaptcha生成验证码的功能,包括在pom.xml中配置依赖、在系统公共配置类中添加配置、在控制器中添加生成验证... 目录SpringBoot集成Kaptcha验证码简介实现步骤1. 在 pom.XML 配置文件中2.

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

Spring 验证码(kaptcha)

首先引入需要的jar包: <dependency><groupId>com.github.axet</groupId><artifactId>kaptcha</artifactId><version>0.0.9</version></dependency> 配置验证码相关设置: <bean id="captchaProducer" class="com.