ThinkPHP自动验证失败的解决方法


Posted in PHP onJune 09, 2011
/* 
* 登陆 
*/ 
public function Login(){ 
if($_POST['submit']){ 
$DB = D('Login');//自定义Model处理 
//if里面就是ThinkPHP的自动验证了. 
if(!$DB->create()){ 
$this->redirect('Index/Login', '', 3, '错误信息: '.$DB->getError().'<br/>系统将于3秒后返回重新登陆...'); 
}else{ 
$con['LoginName'] = $_POST['username']; 
$con['LoginPwd'] = md5($_POST['userpwd']); 
$list = $DB->where($con)->find(); 
if(count($list)>0){ 
echo 'ok'; 
}else{ 
$this->redirect('Index/Login', '', 3, '错误信息: 用户名或密码错误<br/>系统将于3秒后返回重新登陆...'); 
} 
} 
return ; 
} 
//这里只是将模板文件的地址封装了一下. 
A('Public')->ShowPage('login'); 
}

<?php 
class LoginModel extends Model { 
// 设置数据表 
protected $tableName = 'admin'; 
// 自动验证设置 
protected $_validate = array( 
array('username','require','用户名必须!', 1), 
array('userpwd','require','密码必须!', 1), 
); 
/* 自动填充 如果不能自动验证,将这段代码取消注释看看. 
protected $_auto = array( 
array('status','1',self::MODEL_INSERT), 
array('create_time','time',self::MODEL_INSERT,'function'), 
);*/ 
/*引用ThinkPHP2.0开发手册:ThinkPHP手册类型检查只是针对数据库级别的验证,所以系统还内置了数据对象的自动验证功能来完成模型的业务规则验证,而大多数情况下面,数据对象是由表单提交的$_POST数据创建。需要使用系统的自动验证功能,只需要在Model类里面定义$_validate属性 
*/ 
/*它这里说了,只需要在Model类里面定义$_validate属性,但是在使用ThinkPHP2.1的时候,的的确确不能通过验证,$DB->getError()无错误原因返回,且刷新的时候$DB->getError()返回"令牌表单错误" 
*/ 
} 
?>
PHP 相关文章推荐
php生成N个不重复的随机数实例
Nov 12 PHP
PHP eval函数使用介绍
Dec 08 PHP
easyui的tabs update正确用法分享
Mar 21 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 PHP
php实现Session存储到Redis
Nov 11 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
Yii2中使用join、joinwith多表关联查询
Jun 30 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
PHP Redis扩展无法加载的问题解决方法
Aug 22 PHP
Laravel 创建指定表 migrate的例子
Oct 09 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
Sep 15 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
Jun 09 #PHP
一个PHP缓存类代码(附详细说明)
Jun 09 #PHP
php下通过IP获取地理位置的代码(小偷程序)
Jun 09 #PHP
php 面试碰到过的问题 在此做下记录
Jun 09 #PHP
rephactor 优秀的PHP的重构工具
Jun 09 #PHP
php获取post中的json数据的实现方法
Jun 08 #PHP
常用的PHP数据库操作方法(MYSQL版)
Jun 08 #PHP
You might like
PHP $_SERVER详解
2009/01/16 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
Javascript事件实例详解
2013/11/06 Javascript
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
Python中装饰器的一个妙用
2015/02/08 Python
Python实战购物车项目的实现参考
2019/02/20 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
python爬虫用scrapy获取影片的实例分析
2020/11/23 Python
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
EJB的几种类型
2012/08/15 面试题
雷锋之歌观后感
2015/06/10 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
老乡会致辞
2015/07/28 职场文书
导游词之西安骊山
2019/12/03 职场文书