Попытка получить идентификатор сеанса из cookie в Codeigniter, но ... - PullRequest
3 голосов
/ 30 июля 2011

Я пытаюсь получить идентификатор сеанса из $ _REQUEST / $ _ COOKIE в Codeigniter. Проблема в том, что он возвращает следующее, и я не знаю, как получить к нему доступ:

a:4:{s:10:"session_id";s:32:"f42269d0f23d0310b0274a580c90627e";s:10:"ip_address";s:13:"128.128.128.128";s:10:"user_agent";s:50:"Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/2010010";s:13:"last_activity";i:1311979074;}ffcb685c182ffbbb1affd1ee49a558df

Что это такое и как мне получить идентификатор сеанса (f42269d0f23d0310b0274a580c90627e)?

Ответы [ 2 ]

5 голосов
/ 30 июля 2011

Похоже, вы неправильно обращаетесь к данным сеанса. Сериализованные данные, которые вы видите, хранятся в базе данных или, если вы не используете базу данных, в файле cookie сеанса. Чтобы получить идентификатор сеанса, вы должны использовать сеанс Codeigniter "userdata".

Таким образом, чтобы получить идентификатор сеанса, вы должны пойти: $this->session->userdata('session_id');

Помните, что сеансы Codeigniter не являются родными сеансами PHP, поэтому вам нужно использовать функцию класса сеанса, чтобы получить значения правильно. Насколько я понимаю, функция unserialize () заключается в том, что она довольно дорогая по производительности, и вы, вероятно, не хотите, чтобы дополнительные затраты на ее использование были излишними.

5 голосов
/ 30 июля 2011

это вывод php serialize (), используйте http://www.php.net/manual/en/function.unserialize.php, чтобы преобразовать его обратно в тип данных PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...