@aassdds
Люблю борщ и PHP

Не могу разобраться с сессией?

День добрый
пишу авторизацию в codeigniter
ситуация такая :
авторизую пользователя
вывожу его значение сессии
[__ci_last_regenerate] => 1441008949

далее

если открыть в соседней вкладке сайт - то сессия пропадает и значение
[__ci_last_regenerate] => 1441008941 (другое)

НО
стоит перейти по любой ссылке - сессия восстанавливается

Почему при первом входе он забывает пользователя ?
  • Вопрос задан
  • 338 просмотров
Пригласить эксперта
Ответы на вопрос 1
LINKeRxUA
@LINKeRxUA
web dev
Я работаю на Kohana - это ветка от code igniter, по-этому попробую объяснить как работает Kohana.
Ваше значение - скорее timestamp генерации сессии. попробуйте поместить в сессию ID пользователя по своему ключу. и поэкспериментировать!

Дело в том что существует конфиг который служит для идентификации TTL сессии.
В момент создания сессии - создается сессионный файл. Если время создания этого файла больше чем TTL - то данная считается простроченной. Чтобы избежать просрочки обертка Session::instance() - всегда перезаписывает сессионный файл, обновляя там ключ который отвечает за последнее обращение к сессии.

1441008941 === Mon, 31 Aug 2015 08:15:41 GMT

Это скорее всего служебная инфа. Попробуйте поместить id\login\email в соответсвующие ключи и повыводить дампы сессии.

Это все актуально только если вы работете в пределах одного домена. Если вопрос идет о субдоменах - то там нужно учитывать то что подскажет гугл по запросу "one session across subdomains"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы