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将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
PHP 函数学习简单小结
Jul 08 PHP
PHP array_multisort()函数的使用札记
Jul 03 PHP
PHP 时间日期操作实战
Aug 26 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
php define的第二个参数使用方法
Nov 04 PHP
PHP测试成功的邮件发送案例
Oct 26 PHP
php中二分法查找算法实例分析
Sep 22 PHP
Yii框架where查询用法实例分析
Oct 22 PHP
php实现文件上传基本验证
Mar 04 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
tp5.1框架数据库子查询操作实例分析
May 26 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语法(5)
2006/10/09 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
php实现带读写分离功能的MySQL类完整实例
2016/07/28 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
详解Angular中的自定义服务Service、Provider以及Factory
2017/04/22 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
Python数据库小程序源代码
2019/09/15 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
淘宝店铺营销方案
2014/02/13 职场文书
捐款倡议书格式范文
2014/05/14 职场文书
英文自荐信范文
2015/03/25 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
redis实现排行榜功能
2021/05/24 Redis
JavaScript的Set数据结构详解
2022/02/18 Javascript