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 相关文章推荐
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
php实现源代码加密的方法
Jul 11 PHP
php使用CutyCapt实现网页截图保存的方法
Oct 03 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
Feb 15 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
Feb 17 PHP
cakephp常见知识点汇总
Feb 24 PHP
php简单读取.vcf格式文件的方法示例
Sep 02 PHP
PHP生成随机数的方法总结
Mar 01 PHP
实例讲解php实现多线程
Jan 27 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 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
第六节 访问属性和方法 [6]
2006/10/09 PHP
PHP出错界面
2006/10/09 PHP
javascript jQuery插件练习
2008/12/24 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
javascript特殊日历控件分享
2016/03/07 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
js+css实现打字效果
2020/06/24 Javascript
利用Vue构造器创建Form组件的通用解决方法
2018/12/03 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
讲解Python中fileno()方法的使用
2015/05/24 Python
详解python调度框架APScheduler使用
2017/03/28 Python
python 堆和优先队列的使用详解
2019/03/05 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
元旦晚会策划方案
2014/02/18 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
中考冲刺决心书
2014/03/11 职场文书
银行职员自我鉴定
2014/04/20 职场文书
美术社团活动总结
2014/06/27 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
毕业横幅标语
2014/10/08 职场文书
四年级数学上册教学计划
2015/01/20 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
详解Laravel制作API接口
2021/05/31 PHP