Самоучитель по креативному веб-дизайну. Книга 4, стр.7

ру возможность сохранять состояние посетителя за счет возможности хранения следующей информации:

• Настроек посетителя для сайта и ранее просмотренных им Web-страниц.

• Ключа, который ассоциирует посетителя с его личными данными, храня — щимися в базе данных сайта.

• Ключа «сеанса», который позволяет посетителю войти на сайт один раз и оставаться зарегистрированным на сайте вплоть до момента выхода с сайта или закрытия Web-браузера.

• Товаров, выбранных посетителем на сайте электронной коммерции, что

позволят показать все выбранные товары на странице заказа, когда посети — тель будет готов покинуть сайт и оплатить покупку.



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

наборов Web-браузерами. Если обработка данных сценарием Web-станиц зависит

от хранения и считывания cookie-наборов, перед входом посетителя на сайт ис- пользуйте PHP-сценарии для проверки того, принимает ли его Web-браузер cookie-наборы.

Глава 10. РНР4 52 1





ПРАКТИКУМ

Для проверки того, принимает ли Web-браузер посетителя cookie-наборы, вставь —

те следующий PHP-сценарий перед HTML-кодом Web-страницы входа на Web —

сайт или индексной страницы для записи «тестового» cookie-набора:



// Создать строку данных для использования в качестве

// «тестового» cookie-набора

$today = getDate();

$dateString = $today[•month'].» «.$today['mday '].» ,

$today['year'];

// Попытаться установить cookie-набор 1

setCookie(«TestCookie», $dateString);

// Остальная часть индексной страницы или страницы входа в систему

Если вы передаете РНР-процессору Web-страницы только с расширением

.рпр, а индексная страница сайта (т. е. его домашняя страница) имеет рас —

ширение .htm, вставьте содержимое этой страницы после приведенного выше

сценария в Web-страницу с расширением. рпр, например, в код страницы

LoginPage. php. Затем в дескриптор домашней страницы (как правило,

index. htm или defauit. htm) поместите атрибут onload, как показано ниже, ко — торый загружает РНР-страницу:





Далее на PHP-странице, которая загружается в Web-браузер при выходе посе — тителя со страницы входа на сайт или индексной страницы, вставьте следующий сценарий:



// Создать строку данных, с которой будет сравниваться

// значение cookie-набора

$today = getDate();

$dateString = $today['month'].» «.$today['mday'].», «.$today['year'];

if (!empty($testCookie))

{

if ($testCookie == $dateString)

{

// Проверить имя пользователя и пароль и если данные верны

// перейти на страницу успешного входа на сайт

header(«Location: Loggedln. htm»);

exit;

}

}

// Если cookie-набор не было установлен, вывести на экран страницу, которая

// предлагает посетителю разрешить прием cookie-наборов Web-браузером

header(«Location: NeedCookies. htm»);

exit;

?>

Проверку cookie-набора нужно разнести по двум Web-страницам, поскольку

Web-браузер передает и принимает cookie-набор только в качестве части заголов —

ка Web-страницы. Таким образом, вызов функции setcookie() в первом РНР —

52 2 Глава 10. РНР4





сценарии создает cookie-набор, который Web-сервер передает Web-браузеру в за — головке страницы входа на сайт или его домашней страницы. Web-браузер в свою очередь, сохраняет cookie-набор (в приведенном примере это текущая дата)

в cookie-файле на жестком диске в компьютере посетителя. При переходе посе — тителем между страницами сайта Web-браузер передает все cookie-наборы (в при —

веденном примере это Testcookie) Web-серверу в качестве части HTML-запроса новой страницы.

При получении Web-сервером запроса на передачу PHP-страницы, сервер пе — редает на обработку РНР-процессору HTTP-запрос (Web-страницу) и cookie-на — бор. PHP-процессор в свою очередь может получить доступ к значению любого cookie-набора с помощью переменной, имя которой соответствует имени cookie — набора с предшествующим знаком доллара ($). Таким образом, в приведенном примере, в котором функция setcookie() создала cookie-набор с именем testcookie, PHP-процессор имеет возможность проверить значение переменной

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 106
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 108
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 063
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 015
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 081
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.44
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 133
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 125
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.15
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.107
  • 29.03.2013">Новые смартфоны от SONY выйдут в текущем году
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 067
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 124
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 116
  • 09.06.2011">Выбираем курицу
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...