2012-09-15 111 views
0

我在控制器中功能设置会话等笨会话问题

$search = array(
    'search_count' => count($data['result']), 
    'projectInfo' => $data['result'] 
    ); 

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

其中$数据[“结果”]是一个数组;

但如果我尝试在同一控制器的其他功能来访问这个变量就显示什么:

print_r($this->session->userdata('projectInfo')); 

虽然使用print_r($this->session->userdata('search_count'));它显示正确的值。

另外,如果我在,我已经在第一功能

Array 
(
    [session_id] => 4adf3a42ee64ffca2b2f273cb293a10a 
    [ip_address] => 127.0.0.1 
    [user_agent] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1 
    [last_activity] => 1347689522 
    [user_data] => 
) 
+0

'的print_r($数据[ '结果'])',并告诉它是什么显示 –

+0

它表明我从MySQL提取的记录分贝表 –

+0

我还可以赶上$这 - >会话级>用户数据(“projectInfo”);数组值在视图文件中。 –

回答

0

感谢我增加了本地PHP会话类

0

已经设置如果我纠正你不能阵列保存到同一个控制器,它并不显示数组值指数的第二功能使用print_r($this->session->all_userdata());他们第一次没有serializing

$search = array(
    'search_count' => count($data['result']), 
    'projectInfo' => $data['result'] 
    ); 

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

变为:

$search = array(
    'search_count' => count($data['result']), 
    'projectInfo' => serialize($data['result']) 
    ); 

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

现在,如果你想检索数组:

$data = unserialize($this->session->userdata('projectInfo')); 
print_r($data); 

请注意,您应该使用数据库来存储当你设置了大量的会议数据在会话中。

的config.php

$config['sess_use_database'] = TRUE;