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笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
php中读写文件与读写数据库的效率比较分享
Oct 19 PHP
php输入流php://input使用示例(php发送图片流到服务器)
Dec 25 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
php json中文编码为null的解决办法
Dec 14 PHP
PHP实现截取中文字符串不出现?号的解决方法
Dec 29 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 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
PHP MemCached 高级缓存应用代码
2010/08/05 PHP
php 数组使用详解 推荐
2011/06/02 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
js一组验证函数
2008/12/20 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
详解vue.js组件化开发实践
2016/12/14 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
python3爬取各类天气信息
2018/02/24 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
Python切片索引用法示例
2018/05/15 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
外贸业务员求职自荐信分享
2013/09/21 职场文书
高中学生期末评语
2014/04/25 职场文书
大学生求职信例文
2014/06/29 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
教师个人成长总结
2015/02/11 职场文书
2015年工会工作总结
2015/03/30 职场文书
工程资料员岗位职责
2015/04/13 职场文书
单方投资意向书
2015/05/11 职场文书
革命电影观后感
2015/06/18 职场文书
《青山不老》教学反思
2016/02/22 职场文书
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js