我在使用具有HMVC擴展名的CI 3.0.3時遇到了問題。 我想在用戶成功登錄時設置會話變量。所以我有User.php類,它存儲了登錄視圖和輸入驗證。無法使用CodeIgniter在HMVC模塊內設置會話變量
if($this->form_validation->run() == true):
// prep auth, session
$login_data = Array(
'table' => 'users',
'cred' => Array(
'username' => $_POST['username'],
'password' => $_POST['password'],
'user_active' => 1
)
);
$try = modules::load('auth/login', $login_data);
驗證運行時,我發送數據到驗證模塊,登錄功能。登錄方法運行SQL查詢來驗證用戶輸入,如果一切是正確的登錄方法發送用戶的詳細情況set_login_session方法:
認證/註冊:
$user_details_from_db = $this->lmodel->try_login($table, $login_data);
if($user_details_from_db) $this->set_login_session($user_details_from_db);
認證/ set_login_session
public function set_login_session($user_data) {
$sess_data = Array(
'id' => $user_data->id}, // user id
'username' => $user_data->username}, // username
'is_logged' => true
);
// set session data
$this->session->set_userdata($sess_data);
}
我想這應該設置會話變量,但它不起作用。當我轉儲所有會話數據,我只看到:
Array
(
[__ci_last_regenerate] => 1454660014
)
BTW,當我移動所有set_login_session的內容主要user.php的控制器,並運行相同的代碼,還有它完美的作品。但不能作爲HMVC模塊。
另外我通過CI的自動加載加載Session類。
我在做什麼錯?
在此先感謝。
試過了。同樣,不工作。 也許我錯過了一些愚蠢的錯誤,但找不到它。 –