如何在CodeIgniter中的多用戶(admin,user)登錄應用程序中維護會話(設置會話ID,獲取會話ID)?CodeIgniter中的會話處理
我正在使用此if($this->session->userdata('logged_in') == '')
。但是這不起作用。
感謝
如何在CodeIgniter中的多用戶(admin,user)登錄應用程序中維護會話(設置會話ID,獲取會話ID)?CodeIgniter中的會話處理
我正在使用此if($this->session->userdata('logged_in') == '')
。但是這不起作用。
感謝
先看看天氣u必須加載Session庫..
如果您的驗證空白值,這段錯誤的,用這個
// to set the session data
$this->session->set_userdata('name', 'value'); // note u can also pass array
if(isset($this->session->userdata('name'))){
//to read session data
$this->session->userdata('name'); // note u can also pass array
//to unset or delete
$this->session->unset_userdata('name');
}
我有兩種類型的用戶。 1.admin 2.用戶。如果我以用戶身份登錄,然後使用admin的url,那麼顯示admin的應用程序也會被登錄。即使我使用下面的代碼public function __construct(){if($ this-> session-> userdata('user_role')= ='admin'){parent :: __ construct(); $這 - >負載>模型( 'user_model'); } else {redirect('administrator'); }}我遇到這樣的錯誤遇到PHP錯誤嚴重性:通知消息:未定義的屬性:Users :: $ session文件名:controllers/users.php行號:6 – user720445 2013-03-19 05:59:23
修改了以下內容 - 不要放置類構造兩次, - 如果您定義了私有函數,即使用函數__functionName(){},則不會將它作爲公共前綴。 功能someOtherMeaningfullFunctionName(){ \t如果($這 - >會話級>用戶數據( 'USER_ROLE')== '管理員'){ \t \t $這 - >負載>模型( 'user_model'); \t} else { \t \t redirect('administrator'); \t} } – 2013-03-25 05:30:19
如果您之前已定義您的會話,如
$this->session->set_userdata('logged_in', 'value');
然後檢查會話是否設置正確,
if(isset($this->session->userdata('logged_in')) {
if($this->session->userdata('logged_in') == '') {
// Your Code
}
}
如果上述isset()
回報假,那麼你的會話設置不正確。檢查一下。
請加載會議庫
根據你自動加載會議庫與否,我們將需要包括:
$this->load->library('session');
那麼你應該能夠使用:
$this->session->set_userdata('logged_in', 'some_value');
並檢查會話是否設置僅使用
if($this->session->userdata('logged_in')){
//code for logged in
}
如果仍然沒有通過清除瀏覽器緩存
我希望這將有助於工作,請試試!
試試這個
if ($this->session->userdata('logged_in')!=FALSE) {
print_r($this->session->all_userdata());
}
,這樣你們可以找到當前用戶數據
首先,你必須檢查你正在嘗試檢索會話項是否存在,然後把它比作你想要的值至。 試試這個:
if($this->session->userdata("logged_in") !== FALSE){
if($this->session->userdata("logged_in") == "admin"){
//logged in as admin
}elseif($this->session->userdata("logged_in") == "user"){
//logged in as user
}
}
還有一件事,在
parent::__constructor();
行應該是在你的構造函數代碼的第一行,否則,你會體驗到很多的錯誤後面的代碼
您使用如何?你能更清楚你的原始代碼嗎? – 2013-03-19 04:40:18
你可以試試if($ this-> session-> userdata('logged_in'))。 – 2013-03-19 04:42:05
我有兩種類型的用戶。 1.admin 2.用戶。如果我登錄的用戶,然後使用管理員的網址,然後應用程序顯示管理員也登錄。即使我用下面的代碼 \t'公共職能__construct() \t { \t \t如果($這個 - >會議 - > userdata('user_role')=='admin') \t \t { \t \t \t parent :: __ construct(); \t \t \t $ this-> load-> model('user_model'); \t \t} \t \t別的 \t \t { \t \t \t重定向( '管理員'); \t \t} \t}' 我收到錯誤這樣 ** A PHP錯誤遇到 嚴重性:注意 消息:未定義的屬性:用戶:: $會議 文件名:控制器/用戶.php 行號:6 ** – user720445 2013-03-19 04:57:35