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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
使用session判断用户登录用户权限(超简单)
Jun 08 PHP
解决file_get_contents无法请求https连接的方法
Dec 17 PHP
symfony表单与页面实现技巧
Jan 26 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
Yii框架通过请求组件处理get,post请求的方法分析
Sep 03 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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
sae使用smarty模板的方法
2013/12/17 PHP
php关联数组快速排序的方法
2015/04/17 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
JavaScript 常用函数库详解
2009/10/21 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
VUE前端cookie简单操作
2017/10/17 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
微信小程序列表时间戳转换实现过程解析
2019/10/12 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
package.json中homepage属性的作用详解
2020/03/11 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
深入源码解析Python中的对象与类型
2015/12/11 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
深圳-东方伟业笔试部分
2015/02/11 面试题
毕业生登记表班级意见
2015/06/05 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
python之基数排序的实现
2021/07/26 Python
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS