Главная » 2016 » Июнь » 20 » Вывод "имени пользователя"
13:24
Вывод "имени пользователя"
Создание сообщения Рады видеть снова, <имя пользователях> с помощью CookiesПользователю будет приятно видеть сообщение вида "e;Рады видеть снова, <имя пользователя> -оно будет способствовать возвращению пользователей на сайт. Если вы скажете сайту свое имя, оно будет использовано в приветствии.Чтобы продемонстрировать один из способов создания такого сообщения, мы напишем сценарий, хранящий данные в Cookies и отображающий их, если Cookie доступно:<?phpif (isset($_REQUEST["e;user_name"e;])) {setcookie("e;stored_user_name"e;, $_REQUEST["e;user_name"e;], time() + 604800, "e;/"e;); $_COOKIE["e;stored_user_name"e;] = $_REQUEST["e;user_name"e;]; }if (isset($_COOKIE["e;stored_user_name"e;])) {$user = $_COOKIE["e;stored_user_name"e;]; print "e;Рады вас видеть снова, <b>$user</b>!"e;; } else { ?><form method="e;post"e;>User name: <input type="e;text"e; name="e;user_name"e; /></form><?php}?> Доступ и хранение Cookies - это два отдельных механизма. Вы можете читать Cookies, отправляемые клиентом через массив $_СООК1Е. Он работает так же, как и массивы $_POST и $_GET. Для установки Cookies нужно использовать функцию setcookie(), которой нужно передать три основных параметра: • Имя Cookie - этот сценарий использует stored_user_name. • Значение Cookie. • Срок действия Cookie в формате Unix timestamp. Этот скрипт использует time()+604800-7 дней с момента установки Cookies. Также вы можете передать три дополнительных параметра: • Путь к местам сайта, где Cookie будет действовать, - работает как каталог, например, вы хотите, чтобы Cookies действовали только для каталога /content/ вашего сайта, используйте /content/ в качестве значения этого параметра. Если вы хотите, чтобы Cookies действовали по всему сайту, используйте /. • Домен, для которого действуют Cookies, - предположим, что у вас есть узлы www . example . com и sales . example . com, и вы хотите, чтобы Cookies были действительны для обоих узлов, - ус-тановите . example. com в качестве значения этого параметра. • Если последний параметр равен 1, то браузер должен передавать Cookies только по защищенному соединению (HTTPS).Что может быть не так? Рассмотрим несколько проблем, часто встречающихся при получении Cookies:• Вы отправляете данные в браузер пользователя перед вызовом setcookie (). Запрос на установку Cookies - это HTTP-заголовок сервера, поэтому ваш сценарий ничего не должен выводить до вызова setcookies (). Если у вас включены предупреждения, РНР сообщит вам об ошибке. Довольно часто программисты сталкиваются с проблемой наличия пробельных символов до • Браузер пользователя не принимает Cookies - если пользователь отключил прием Cookies, вы об этом даже не узнаете. Максимум, что вы можете сделать, - это использовать is set () для проверки существования элементов массива $_С00КIЕ [ ]. Иногда сам браузер может отвергать Cookies, причиной этому может быть неправильный домен.• Кто-либо пытается передать неверные параметры - Cookies могут быть легко сфабрикованы, не доверяйте получаемым из Cookies значениям.• Вы пытаетесь сохранить массив в Cookies - перед сохранением массива в Cookies его нужно сериализировать
Просмотров: 484 | Добавил: AdnrNick | Рейтинг: 0.0/0
Всего комментариев: 0
avatar