2012-09-15 3 views
0

Я установил сеанс в функции контроллера, какCodeIgniter Сессия Проблема

$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')); он показывает правильное значение.

также, если я использую print_r($this->session->all_userdata()); во второй функции того же контроллера он не показывает индекс значения массива, которые я уже установлены в первой функции

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 db tables –

+0

Я также могу поймать $ this-> session-> userdata ('projectInfo'); значения массива в файле вида. –

ответ

0

Спасибо Я добавил Native PHP сессии Class

0

Если я правильно, вы не можете сохранить массивы в сеанс без 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; 
Смежные вопросы