Механизм сессий:
Автор
Blitzzz
 OSR Страница 2 из 3
«   » ...
...запрещает использовать удобства данного механизма при решении других задач.
Теперь разберемся с принципом работы механизма сессии. Первым делом возникает вопрос, как же интерпретатор PHP определяет, что именно этото пользователь запустил скрипт. При создании сеанса сессии пользователю присваивается уникальный идентификационный номер Session ID (SID). Этот идентификатор помещается в Cookies браузера. Для хранения информации с помощью сессий, интерпретатор PHP создает глобальный массив $_SESSION, в котором сохраняются данные и при следующем запуске программы. Этот массив у каждого пользователя естественно будет свой. Обычно данные массивов хранятся во временных файлах.
Если вы хотите использовать в скрипте сесии, нужно эту сессию инициализировать. Делается это посредством функции session_start(), которая возвращает идентификатор пользователя. Если пользователь раньше не создавал сессию на этом сайте, то создается новая сессия. Если есть какие-то данные, хранимые в сессиях, они помещаются в массив $_SESSION. Если включен режим register_globals, ключи массива превращаются в глобальные переменные. Уничтожается сессия с помощью функции session_destroy(), которая возвращает булевое значение. При этом массив сессии не уничтожается! Для этого нужно очистить массив $_SESSION ($_SESSION=array();) и удалить запись в куках: @unset($_COOKIE[session_name()]); это надо сделать до применения функции session_destroy(). Можно использовать сессии и без куков, для этого целесообразней применить запрос GET. Для этого удобно использовать константу SID, в которой хранится имя группы сессии и сам идентификатор. Да и вообще, в адресе ссылки не обязательно передавать SID, PHP это сделает за вас. Но все же куки использовать следует, а если в браузере отключены куки, ничего страшного - PHP сам передаст SID следующему скрипту.
Часто на сайте нужно использовать совершенно разные сессии, которые не должны мешать друг другу (элементы массива $_SESSION, например, могут совпасть, что нам крайне не желательно)....
Таги: web-программирование, PHP
«   » ...

Яндекс.Метрика
Вы не авторизованы!
Авторизация
Обновить
Глав
[пред] [след]
страницы: 1 , 2 , 3

Добавить в избранное (только для авторизированных)