php: основанные на cookie сессии

какое-либо тело имеет какую-либо информацию/ссылки относительно того, как интегрировать основанную на cookie систему сессии? я использовал file/mysql, и в настоящее время использую memcached., который я хотел играть с apc сессиями, но думал, что дам движение в cookie, только я не знаю много об этом.

я предполагаю, что должен был бы записать свой собственный класс обработчика сессий?

5
задан onassar 11 January 2010 в 19:06
поделиться

1 ответ

В сессии PHP данные обычно хранятся в файле. Единственное, что хранится в cookie - это идентификатор сессии. Когда сессия включена и найден корректный куки-сессия, PHP загружает данные о сессии из файла в супер глобальную под названием SESSION.

Базовые сессии начинаются с помощью session_start(); , вызываемого перед отправкой какого-либо текста в браузер. Затем элементы добавляются в объект сессии или удаляются из него с помощью простой индексации массива, например,

$_SESSION['favcolour'] = 'blue'; 

позже.....

$favcolour = $_SESSION['favcolour'];

сеансы базовой куки-файлов (без локального хранилища) могут быть созданы с помощью вызова функции

 set_cookie('favcolour','blue'[,other params]);

до отправки текста в браузер, а затем извлечены из куки-файлов суперглобальной

$favcolour = $_COOKIE['favcolour'];

, вам не нужно вызывать session_start(), если вы делаете куки-файлы только для сеансов.

дополнительные [,другие параметры] более продвинутые и о них можно прочитать здесь http://www.php.net/manual/en/function.setcookie.php

Сессии могут стать очень сложной дискуссией, я бы предложил провести в них легкую работу, а затем расширить свои знания.

DC

все, что вы когда-либо хотели узнать о сессиях PHP

http://www.php.net/manual/en/book.session.php

DC

Для повторного использования кода обработки сессий PHP вам нужно будет добавить обработчик записи с помощью session_set_save_handler, а затем ничего не делать в этом обработчике. Это связано с тем, что он вызывается после того, как вывод в браузер закрыт, поэтому вы не можете ничего отправить в браузер.

Перед записью не заголовочных данных в браузер используйте функции set_cookie и сохраняйте содержимое массива $_SESSION (после сериализации и шифрования) в куки. При запуске приложений вы можете прочитать куки-файлы без сериализации и поместить их в массив $_SESSION.

Это быстрый намек на то, что делать, так как я никогда этого не делал, я предпочитаю писать свой собственный код cookie. Может быть, есть какие-то gotcha's, но это не сложно, несколько тестов должны найти какие-нибудь gotcha's.

DC

5
ответ дан 14 December 2019 в 19:14
поделиться
Другие вопросы по тегам:

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