Переменная сеанса не работает в другом контроллере (CodeIgniter)

Я установил переменную сеанса в моем контроллере входа в систему после успешного входа в систему. Когда я проверяю переменную в контроллере панели мониторинга, данные сеанса не обнаруживаются.

Когда я проверяю сеанс в контроллере входа, данные сеанса существуют. Это не существует, когда я проверяю контроллер приборной панели. Я также пытался использовать сеансы базы данных безуспешно.

Я использую CodeIgniter 3.1.3 с HMVC (модульный контроллер MX). Код и скриншоты моей текущей проблемы следуют.

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . 'cache/';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

Приложение 1

введите описание изображения здесь

Приложение 2

введите описание изображения здесь

Приложение 3

введите описание изображения здесь

Приложение 4

Blockquote

введите описание изображения здесь

0

Решение

print_r($_SESSION) не работает в CI. В Codeigniter мы должны написать следующий синтаксис.

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

или же

print_r($this->session->all_userdata());
0

Другие решения

Если вы не загрузили форму библиотеки сессий, вам нужно загрузить сначала. Попробуйте так.

$this->load->library('session');
$this->session->userdata('your_session_variable'); // get single value
or
print_r($this->session->userdata);
or
print_r($this->session->all_userdata()); // get all session data but deprocated in newer version
0

Вы, вероятно, пропустите, чтобы загрузить session библиотека в Dashboardcontroller. Так что сначала загрузите его, используя:

class Dashboardcontroller extends CI_Controller{
function __construct(){
$this->load->library('session');//loads session library
}

Тогда попробуй

 print_r($_SESSION)

ИЛИ ЖЕ

print_r($this->session->all_userdata());
0
По вопросам рекламы [email protected]