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获取网络上文件
Oct 09 PHP
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
Oct 22 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
php实现简单爬虫的开发
Mar 28 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
WordPress伪静态规则设置代码实例
Dec 10 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
php download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
浅析vue-router原理
2018/10/19 Javascript
Python实现从百度API获取天气的方法
2015/03/11 Python
python发送HTTP请求的方法小结
2015/07/08 Python
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
wxPython的安装与使用教程
2018/08/31 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
软件工程专业推荐信
2013/10/28 职场文书
标准导师推荐信(医学类)
2013/10/28 职场文书
车工岗位职责
2013/11/26 职场文书
车间操作工岗位职责
2013/12/19 职场文书
大学生创业计划书的用途
2014/01/08 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
大学校园活动策划书
2014/02/04 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
财务工作失误检讨书
2015/02/19 职场文书
小学数学国培研修日志
2015/11/13 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
PO模式在selenium自动化测试框架的优势
2022/03/20 Python