復制代碼 代碼如下:
 
/* 
* 登陸 
*/ 
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()返回"令牌表單錯誤" 
*/ 
} 
?> 
新聞熱點
疑難解答