ThinkPHP自動驗證失敗的解決方法
更新時間:2011年06月09日 22:14:59 作者:
引用ThinkPHP2.0開發(fā)手冊:ThinkPHP手冊類型檢查只是針對數(shù)據(jù)庫級別的驗證,所以系統(tǒng)還內(nèi)置了數(shù)據(jù)對象的自動驗證功能來完成模型的業(yè)務(wù)規(guī)則驗證,而大多數(shù)情況下面,數(shù)據(jù)對象是由表單提交的$_POST數(shù)據(jù)創(chuàng)建。
復制代碼 代碼如下:
/*
* 登陸
*/
public function Login(){
if($_POST['submit']){
$DB = D('Login');//自定義Model處理
//if里面就是ThinkPHP的自動驗證了.
if(!$DB->create()){
$this->redirect('Index/Login', '', 3, '錯誤信息: '.$DB->getError().'<br/>系統(tǒng)將于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/>系統(tǒng)將于3秒后返回重新登陸...');
}
}
return ;
}
//這里只是將模板文件的地址封裝了一下.
A('Public')->ShowPage('login');
}
復制代碼 代碼如下:
<?php
class LoginModel extends Model {
// 設(shè)置數(shù)據(jù)表
protected $tableName = 'admin';
// 自動驗證設(shè)置
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開發(fā)手冊:ThinkPHP手冊類型檢查只是針對數(shù)據(jù)庫級別的驗證,所以系統(tǒng)還內(nèi)置了數(shù)據(jù)對象的自動驗證功能來完成模型的業(yè)務(wù)規(guī)則驗證,而大多數(shù)情況下面,數(shù)據(jù)對象是由表單提交的$_POST數(shù)據(jù)創(chuàng)建。需要使用系統(tǒng)的自動驗證功能,只需要在Model類里面定義$_validate屬性
*/
/*它這里說了,只需要在Model類里面定義$_validate屬性,但是在使用ThinkPHP2.1的時候,的的確確不能通過驗證,$DB->getError()無錯誤原因返回,且刷新的時候$DB->getError()返回"令牌表單錯誤"
*/
}
?>
相關(guān)文章
PHP GD庫相關(guān)圖像生成和處理函數(shù)小結(jié)
這篇文章主要介紹了PHP GD庫相關(guān)圖像生成和處理函數(shù),分類總結(jié)并分析了php GD庫相關(guān)圖像處理函數(shù)的功能與用法,需要的朋友可以參考下2016-09-09
PHP在線調(diào)試執(zhí)行的實現(xiàn)方法(附demo源碼)
這篇文章主要介紹了PHP在線調(diào)試執(zhí)行的實現(xiàn)方法,實例分析了PHP實現(xiàn)在線調(diào)試運行的原理,步驟與具體實現(xiàn)代碼,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04
PHP類的聲明與實例化及構(gòu)造方法與析構(gòu)方法詳解
這篇文章主要介紹了PHP類的聲明與實例化及構(gòu)造方法與析構(gòu)方法,結(jié)合實例形式分析了PHP面向?qū)ο箢惖穆暶髋c使用相關(guān)技巧,需要的朋友可以參考下
2016-01-01 
