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

2015-01-24信息快讯网

引用ThinkPHP2.0开发手册:ThinkPHP手册类型检查只是针对数据库级别的验证,所以系统还内置了数据对象的自动验证功能来完成模型的业务规则验证,而大多数情况下面,数据对象是由表单提交的$_POST数据创建。

 
/* 
* 登陆 
*/ 
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()返回"令牌表单错误" 
*/ 
} 
?> 
解析百度搜索结果link?url=参数分析 (全)
php使HTML标签自动补全闭合函数代码
ThinkPHP3.0略缩图不能保存到子目录的解决方法
说说PHP的autoLoad自动加载机制
ThinkPHP关联模型操作实例分析
Linux下CoreSeek及PHP扩展模块的安装
Thinkphp模板中使用自定义函数的方法
PHP中使用crypt()实现用户身份验证的代码
简单的方法让你的后台登录更加安全(php中加session验证)
php+ajax做仿百度搜索下拉自动提示框(有实例)
ThinkPHP 连接Oracle数据库的详细教程[全]
注册页面之前先验证用户名是否存在的php代码
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
PHP通过session id 实现session共享和登录验证的代码
PHP图片验证码制作实现分享(全)
php tp验证表单与自动填充函数代码
php _autoload自动加载类与机制分析
php学习笔记 [预定义数组(超全局数组)]
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
php自动获取字符串编码函数mb_detect_encoding
允许phpmyadmin空密码登录的配置方法
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
PHP sprintf()函数用例解析
php join函数应用
ThinkPHP采用模块和操作分析
php中实现记住密码自动登录的代码
php下尝试使用GraphicsMagick的缩略图功能
PHP的autoload自动加载机制使用说明
PHP验证码类代码( 最新修改,完全定制化! )
PHP自动选择 连接本地还是远程数据库
《PHP编程最快明白》第七讲:php图片验证码与缩略图
ThinkPHP中实例Model方法的区别说明
php自动获取目录下的模板的代码
joomla内置的表单验证功能使用方法
php 验证码实例代码
mayfish 数据入库验证代码
PHP中冒号、endif、endwhile、endfor使用介绍
©2014-2024 dbsqp.com