RTFM! статьи, советы, скрипты
::Заработок с помощью сайта ::JScript по-русски! ::Все русские мануалы::
МЕНЮ
О САЙТЕ
НОВОСТИ
СТАТЬИ
КНИГИ
АППЛЕТЫ
СВЯЗЬ

СЧЕТЧИКИ
Rambler's Top100
Рейтинг@Mail.ru
Яндекс цитирования

От сессии до сессии…

Автор: Андрей Кухарчик Сайт: http://virtual.brest.by/php     Рейтинг: N/A из 7       <<НАЗАД
   
   Еще не забыли про cookie? Давайте немного освежим память. Итак, это - небольшие кусочки информации, которые сервер записывает на Ваш компьютер для того, что бы сохранить персональные данные, например. Если только… Браузер или сторонние программы разрашают это делать. А как же быть, если пользователь все же выключил прием cookie у себя в настройках? Выход есть, и он нам тоже доступен. Я говорю о сессиях, поддержка которых появилась в PHP начиная с версии 4.
   Что такое сессии и зачем они нужны? Давайте потеоретизируем. Представьте, заходит человек к Вам на сайт, Ваша программ фиксирует это, и присваивает ему определенный номер, который автоматически сохраняется в памяти на диске сервера. В дальнейшем, по этому номеру, не сложно определить что именно интересовало посетителя на сайте, какие именно странички он смотрел и что он там делал. Заманчиво? Это еще далеко не все!
   Один из недостатков CGI-интерфейса, на основе которого и работают все браузеры заключается в том, что программа должна отработать и завершить соединение, инициализированное клиентом. И все данные, полученные в результате такой работы вынужденно теряются. Так вот, сессии позволяют избавиться от этого недостатка, сохраняя нужные программисту данные на диске сервера до нужного времени.
   Вы скажете, что тут надо применить Cookie? И будете совершенно правы. Но! Если они, эти самые cookie отключены, ничего не получится, и мы потеряем посетителя. Хорошо, если это просто Вася Пупкин, а если оптовый покупатель Интернет-магазина? Тут уже не до шуток, пахнет саботажем! Так что от cookie лучше отказаться, тем более что как всегда есть способ лучше.
   Для идентификации пользователя используется идентификатор сессии - SID. Именно с его помощью можно определить, какой пользователь запустил сценарий. Идентификатор сессии хранится в Cookie броузера - вот для чего нужны эти Cookie! Фактически, SID - это имя временного хранилища, то есть имя временного файла, в котором PHP4 хранит информацию о сессии. Обычно эти файлы размещаются в каталоге /tmp на диске сервера. Но не на диске пользователя. Вот этим и отличаются cookie от сессий.
   Есть и еще одно важное отличие. Дело в том, что если cookie отключены, SID все равно передается, но уже при помощи методов GET или POST, в зависимости от ситуации и более выгодного положения дел.
   Для примера всей этой беды давайте попробуем сделать персональный счетчик на сессии.
   <?
   session_name("virtualbrest");
   session_start();
   session_register("counter");
   $counter = @$counter +1; ?>
   <html><body>Нажмите кнопку ОБНОВИТЬ,
   чтобы увеличить счетчик
   <br>Счетчик: <?=$a?>
   </body></html>
   В первой строчке кода мы инициализируем имя сессии для SID, что бы в дальнейшем можно было легко различать разные сессии. Если этого не сделать, PHP автоматически откроет сессию с именем PHPSESID. Функция session_start() инициализирует сессию, а функция session_register("counter") регистрирует в сессии переменную $counter. Имена переменных задаются без знака доллара. Можно несколько раз регистрировать одну и ту же переменную в сессии, ее значение все рвно будет сохранено.
   Вот список еще некоторых полезных нам функций.
   · Проверить зарегистрирована ли переменная в сессии позволяет функция session_is_register(string $name).
   · Отменить регистрацию какой-нибудь переменной можно с помощью функции session_unregister(string $name).
   · Отменить регистрацию ВСЕХ переменных сессии можно с помощью функции session_unset().
   Если запустить данный код и несколько раз обновить окно браузера, мы увидим, как счетчик увеличивается.
   Итак, именно в этом примере параметр SID передается браузером посредством cookie. Но этот пример носит чисто теоретический характер.
   
   
   
   


<<НАЗАД      ОЦЕНИТЬ СТАТЬЮ    ВЕРСИЯ ДЛЯ ПЕЧАТИ>>
Статья прочитана :  раз.




пейкюлю



 
 
 
 
 
pauk ©® 2000-2015. All rights reserved.
При перепечатке ссылка на сайт и указание обязательны.
Мнение администрации сайта не всегда совпадает с мнением автора.
Орфография и пунктуация - авторские.
Администрация не несет никакой ответственности за использование материалов.
.
Protected by Copyscape DMCA Takedown Notice Infringement Search Tool