Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
pen", "ses_close", 
"ses_read", "ses_write", 
"ses_destroy", "ses_gc" 
); 
// Для примера подключаемся к группе сессий test 
session_name("test"); 
session_start(); 
session_register("count"); 
// Дальше как обычно... 
$count=@$count+1; 
?> 
 

Счетчик

В текущей сессии работы с браузером Вы открыли эту страницу раз(а). Закройте браузер, чтобы обнулить этот счетчик. Сессии и Cookies До сих пор я подразумевал, что использование сессий немыслимо без Cookies. Дейст- вительно, Cookies представляют собой наиболее элегантное и простое решение задачи идентификации каждого подключившегося пользователя, что необходимо для связи временного хранилища и данных сессии. Но как быть, если пользователи отключили Cookies в своих браузерах? Глава 25. Управление сессиями 357 К сожалению, пользователи отключают Cookies гораздо чаще, чем это может показаться на первый взгляд. Например, всего год назад Всероссийский Клуб Вебмастеров проводил опрос, в результате которого выяснилось, что количе- ство пользователей Интернета, отключивших у себя по каким-то соображениям поддержку Cookies, достигает 20—30%. Что это за соображения? Многие ду- мают, что Cookies потенциально являются "дырой" в безопасности их компью- тера. Это совершенно не соответствует действительности, потому что браузе- ры всегда имеют ограничения на количество и суммарный объем Cookies, которые могут быть в них установлены. Другие же просто не хотят, чтобы неиз- вестно кто писал что угодно на их жесткий диск. Правда, это не мешает таким "перестраховщикам" открывать пришедший по почте исполняемый файл — та- кой же, как из письма типа "Love letter"… В общем, вы видите, что для абсолютной уверенности в работоспособности ваших сценариев на любом браузере нужен механизм, позволяющий отказаться от исполь- зования Cookies при управлении сессиями. Такой механизм действительно существует в PHP, и основная его идея состоит в том, чтобы передавать идентификатор сессии не в Cookies, а каким-нибудь аналогичным путем — например, в данных запроса GET. Последнее мы сейчас и рассмотрим. Явное использование константы SID В PHP существует одна специальная константа с именем SID. Она всегда содержит имя группы текущей сессии и ее идентификатор в формате имя=идентификатор. Вспомните: именно в таком формате данные принимаются, когда они приходят из Cookies браузера. Таким образом, нам достаточно просто-напросто передать значение константы SID в сценарий, чтобы он "подумал", будто бы данные пришли из Cookies. Вот пример: Листинг 25.3. Sesget.php: простой пример использования сессий без Cookies

Счетчик

В текущей сессии работы с браузером Вы открыли эту страницу Часть IV. Стандартные функции PHP 358 раз(а). Закройте браузер, чтобы обнулить этот счетчик.
>Click here! Если набрать в браузере адрес вроде такого: http://www.somehost.ru/sesget.php то создастся новая сессия с уникальным идентификатором. Разумеется, если сразу же нажать кнопку Обновить, счетчик не увеличится, потому что при каждом запуске будет создаваться новое временное хранилище — у PHP просто нет информации об идентификаторе пользователя. Теперь обратите внимание на предпоследнюю строчку листинга 25.3. Видите, как хитро мы передаем в сценарий, запускаемый через гипер- ссылку, данные об идентификаторе текущей сессии? Теперь с его точки зрения они якобы пришли из Cookies… Все будет работать так, как описано, только в том случае, если в браузере действительно отключены Cookies. Если же они вклю
 
<<-[Весь Текст]
Страница: из 287
 <<-