【发布时间】:2014-11-25 06:32:05
【问题描述】:
我有一个从模型中获取数据并将该数据存储在会话变量中的函数:
public function fetchData() {
$somedata = $this->some_model->some_function();
$this->session->set_userdata('mydata',$somedata);
}
现在,如果我以相同的方法访问会话并打印,则它可以工作,但是当我以其他方法访问此会话变量时,它就不起作用了。
public function showData() {
$mydata = $this->session->userdata('mydata');
print_r($mydata); // it prints nothing
}
当我在 showData() 方法中打印会话时,它只打印用户详细信息:
Array
(
[session_id] => 9c7bc7a7a8acad514d4ece2c841c1403
[ip_address] => 192.168.0.115
[user_agent] => Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0
[last_activity] => 1416898254
[user_data] =>
[user] => testuser
[currentUser] => testuser
[userID] => 1
[email_address] => testuser@gmail.com
[first_name] => Test
[last_name] => User
[logged] => 1
[account_type] => admin
[currentUserName] => Test user
)
当然,我已经在 autoload.php 中设置了会话以默认加载,并尝试在构造函数中加载,但没有任何效果。
谁能告诉我为什么会这样?
提前致谢。
【问题讨论】:
-
检查您是否正在取消设置会话数据。
-
我检查过了,我没有在任何地方取消设置会话数据。
-
包含会话库吗?还要检查你的 $somedata 是否有值
-
试试
print_r($this->session);,看看你会得到什么。 -
是的,我已将库包含在 autoload.php 和构造函数中,但没有任何工作。
标签: php codeigniter session session-variables