thinkphp验证码的实现(form、ajax实现验证)


Posted in PHP onJuly 28, 2016

两种验证码验证实现,一种直接在form表单提交按钮实现验证,一种使用ajax传递参数实现验证:

1、直接在form表单提交按钮实现验证,在控制器VerifyController.class.php中写入如下代码:

namespace Home\Controller;
use Think\Controller;
class VerifyController extends Controller {
public function index() {
$this->display();
}
public function checkLogin() {
$verify=new \Think\Verify();
$code=I('post.verify');//表单验证码
if($verify->check($code)){
$this->success('验证码正确');
}else{
$this->error('验证码错误');
}
}
public function verify()
{
// 实例化Verify对象
$verify = new \Think\Verify();
// 配置验证码参数
$verify->fontSize = 14; // 验证码字体大小
$verify->length = 4; // 验证码位数
$verify->imageH = 34; // 验证码高度
$verify->useImgBg = true; // 开启验证码背景
$verify->useNoise = false; // 关闭验证码干扰杂点
$verify->entry();
}
}

在视图Verify/index.html中的代码如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="{:U('verify/checkLogin')}" method="post">
<div class="form-group has-feedback">
<input type="text" name="verify" id="verify" placeholder="验证码" style="width:100px;" />
<span style="right:120px;"></span>
<img class="verify" src="{:U(verify)}" alt="验证码" onClick="this.src=this.src+'?'+Math.random()" />
</div>
<div class="col-xs-4">
<button type="submit" >验证</button>
</div>
</form>
</body>
</html>

2、使用ajax传递参数实现验证,在控制器VerifyController.class.php中的代码如下:

namespace Home\Controller;
use Think\Controller;
class VerifyController extends Controller {
public function index() {
$this->display();
}
public function checkLogin() {
$verify=new \Think\Verify();
$code=$_POST['code'];//ajax验证码获取
if($verify->check($code)){
$this->ajaxReturn(1);
}else{
$this->ajaxReturn(0);
}
}
public function verify()
{
// 实例化Verify对象
$verify = new \Think\Verify();
// 配置验证码参数
$verify->fontSize = 14; // 验证码字体大小
$verify->length = 4; // 验证码位数
$verify->imageH = 34; // 验证码高度
$verify->useImgBg = true; // 开启验证码背景
$verify->useNoise = false; // 关闭验证码干扰杂点
$verify->entry();
}
}

视图Verify/index.html中的代码如下:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="__JS__/jquery-2.1.0.min.js" ></script>
</head>
<body>
<form action="{:U('verify/checkLogin')}" method="post">
<div class="form-group has-feedback">
<input type="text" name="verify" id="verify" placeholder="验证码" style="width:100px;" />
<span style="right:120px;"></span>
<img class="verify" src="{:U(verify)}" alt="验证码" onClick="this.src=this.src+'?'+Math.random()" />
</div>
<div class="col-xs-4">
<button type="button" id="ver">验证</button>
</div>
</form>
<script>
$(document).ready(function(){
/*ajax验证码*/
$("#ver").click(function(){
var code=$("#verify").val();//获取输入验证码
var url=$('form').attr('action');//获取表单action的值
$.ajax({
type:"post",
url:url,
data:{"code":code},
error:function(request){
alert("ajax错误");
},
success:function(data){
if(data){
alert("正确")
}else{
alert('错误')
}
}
});
});
});
</script>
</body>
</html>

在第2种方法,不要忘记下载jquery.min.js文件下载地址:http://www.jq22.com/jquery-info122

在配置文件Common/conf/config.php中配置地址:

return array( 
/*地址替换*/
'TMPL_PARSE_STRING'=>array( 
'__JS__'=>__ROOT__.'/Public/JS',
),
);

以上所述是小编给大家介绍的thinkphp验证码的实现(form、ajax使用验证),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php include的妙用,实现路径加密
Jul 29 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
Jun 29 PHP
php cookie中点号(句号)自动转为下划线问题
Oct 21 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
thinkphp实现分页显示功能
Dec 03 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
PHP反射学习入门示例
Jun 14 PHP
php use和include区别总结
Oct 13 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
Thinkphp3.2.3分页使用实例解析
Jul 28 #PHP
thinkphp3.2.3 分页代码分享
Jul 28 #PHP
php实现带读写分离功能的MySQL类完整实例
Jul 28 #PHP
PHP实现带重试功能的curl连接示例
Jul 28 #PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 #PHP
php倒计时出现-0情况的解决方法
Jul 28 #PHP
24条货真价实的PHP代码优化技巧
Jul 28 #PHP
You might like
destoon首页调用求购供应信息的地区名称的方法
2014/08/21 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
2015/07/01 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
JS 控制CSS样式表
2009/08/20 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
VUE 实现滚动监听 导航栏置顶的方法
2018/09/11 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
python的Template使用指南
2014/09/11 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Python字符编码判断方法分析
2016/07/01 Python
Python正则表达式使用范例分享
2016/12/04 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
Python 使用元类type创建类对象常见应用详解
2019/10/17 Python
Python可以实现栈的结构吗
2020/05/27 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
计算机维护专业推荐信
2014/02/27 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
主要领导对照检查材料
2014/08/26 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python