2011-12-17 24 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