2011-12-17 111 views
-1

我將userid存儲在會話用戶數據中,但用戶數據僅在一個控制器中可用。我想讓全局的CodeIgniter會話可訪問。如何將codeigniter會話設置爲全局可訪問?

我有這樣的代碼

$custom_data = array(
      'userid' => $user_id, 
      'loggedin' => TRUE 
); 

$this->session->set_userdata($custom_data); 

我剛裝入會話庫,和周圍搜索後,我也用一些黑客,但沒有什麼工作,我想的方式。我如何正確解決這個問題?

回答

4

等一下,沒有什麼關於在Internet上任何地方使用CodeIgniter中的會話嗎?

這個框架已經出來了5年,所以我懷疑是這樣。也許你沒有很好地描述你的問題?

通過全球accessable如果你的意思是你想獲得它在其他控制器,然後使用:

$this->session->userdata('userid'); 

,將返回你的價值。

如果全局可用,表示您希望在其他PHP文件(而不是CodeIgniter)中可用,那麼這就完全不同了。您需要使用本地PHP會話來本地處理PHP和CodeIgniter會話以使用CodeIgniter會話。簡單! :)

+0

我將userdata設置爲'userid',然後在該視圖中加載一個視圖,我把'print_r($ this-> session-> userdata);'它打印出每一個也userid,但是當我導航到另一個視圖從另一個控制器加載,會話使用數據中的userid字段爲空 – Bilal 2011-12-17 13:43:35

+0

您只需重複$ this-> session-> userdata('userid');無論你在哪裏需要它。它始終可以全球訪問。我在視圖 – Brad 2011-12-17 17:09:59

+0

中使用它「if($ this-> session-> userdata('name')){ echo」Welcome「。$ this-> session-> userdata('name');(或者用戶標識) – Brad 2011-12-17 17:16:13