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 相关文章推荐
require(),include(),require_once()和include_once()区别
Mar 27 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
Mar 01 PHP
php最简单的删除目录与文件实现方法
Nov 28 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
jquery不支持toggle()高(新)版本的问题解决
Sep 24 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 PHP
Laravel 实现添加多语言提示信息
Oct 25 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操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
最佳JS代码编写的14条技巧
2011/01/09 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
图解javascript作用域链
2019/05/27 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
python实现2014火车票查询代码分享
2014/01/10 Python
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
Python的Django框架安装全攻略
2015/07/15 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
Python探索之实现一个简单的HTTP服务器
2017/10/28 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
NumPy中的维度Axis详解
2019/11/26 Python
tensorflow常用函数API介绍
2020/04/19 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
国际知名设计师时装商店:Coggles
2016/09/05 全球购物
大学生求职自荐信
2013/12/12 职场文书
八年级物理教学反思
2014/01/19 职场文书
认识深刻的检讨书
2014/02/16 职场文书
高中生家长寄语大全
2014/04/03 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
老乡会致辞
2015/07/28 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
mysql事务隔离级别详情
2021/10/24 MySQL
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL