2012-09-15 113 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;