2011-01-25 3 views
2

Я не уверен, почему, но я теряю данные сеанса CodeIgniter между страницами. И идентификатор сеанса меняется. Что может быть причиной этого? Должен ли он быть доступен с любой страницы после его установки?Сессия CodeIgniter потеряет данные

Данные сессии устанавливается здесь на странице конфигурации:

<?php $config = array(
        'power' => $_COOKIE['power'], 
        'oemclass4' => $_COOKIE['class'], 
        'cooling' => $_COOKIE['cooling'], 
        'beam' => $_COOKIE['beam'], 
        'wavelength' => $_COOKIE['wavelength'], 
        'model_no' => $_COOKIE['part']); 

    $this->session->set_userdata('config', $config); 

?> 

Пользователь перенаправляется на страницу с подробной информацией о их конфигурации. Тогда пользовательские данные сеанса все еще существуют. Затем они переадресованы Javascript (window.location) на страницу входа в систему, после чего пользовательские данные удаляются.

+0

как насчет отображения некоторого кода? для двух контроллеров, у которых есть проблема, может быть? также есть ли у вас какие-либо * настраиваемые * автоматически загруженные библиотеки, плагины, которые могли бы переопределить сессию ?! – ifaour

+0

У вас есть сайт, на котором вы можете провести чей-либо тест, чтобы исключить локальную среду? – jondavidjohn

+0

Код выше. Включен только один контроллер. Нет настраиваемых автозагружаемых библиотек. Это работает на реальном сайте, но в другом домене. – sehummel

ответ

0

У меня была аналогичная проблема. Пожалуйста, убедитесь, что, например, если base_url
настроен, скажем, dynamic.dns.com, и вы тестируете его на localhost, набрав 127.0.0.1
или localhost, для всех это разные домены для браузера, это может вызвать
этот выпуск.

Надеется, что это помогает :)

1

я прочитал где-то использовать 127.0.0.1 в домене печенья во время работы на локальном хосте. Однако, когда я изменил cookie_domain на «localhost», сеансы начали работать. Я планировал переключиться на собственные сеансы, но сменился на «localhost» & Я перешел вместе с сеансами CI на localhost.

0

Это потому, что config cookie, мой session_id меняется снова и снова.

$config['cookie_prefix'] = ''; 
$config['cookie_domain'] = ''; 
$config['cookie_path'] = '/'; 

Но я всегда имею проблему ... Мой BDD обновляется с локальной сессии PHP, но мои вары в user_data, как уничтоженный> < user_data также.

2

Это правда, работая на локальном хосте. Укажите cookie_domain для localhost. Это сохранит все данные сеанса при переадресации страницы.

Смежные вопросы