Я установил переменную сеанса в моем контроллере входа в систему после успешного входа в систему. Когда я проверяю переменную в контроллере панели мониторинга, данные сеанса не обнаруживаются.
Когда я проверяю сеанс в контроллере входа, данные сеанса существуют. Это не существует, когда я проверяю контроллер приборной панели. Я также пытался использовать сеансы базы данных безуспешно.
Я использую 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
print_r($_SESSION)
не работает в CI. В Codeigniter мы должны написать следующий синтаксис.
print_r($this->session->userdata);
или же
print_r($this->session->all_userdata());
Если вы не загрузили форму библиотеки сессий, вам нужно загрузить сначала. Попробуйте так.
$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
Вы, вероятно, пропустите, чтобы загрузить 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());