程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP自動驗證失敗的解決方法

ThinkPHP自動驗證失敗的解決方法

編輯:關於PHP編程

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved