(краткое содержание)
Основы
Cookie – именованная порция информации, сохраняющаяся в браузере
пользователя. Она имеет свой срок хранения, устанавливаемый при
инициализации. Кроме того, современные браузеры позволяют очищать cookies с
длительным сроком хранения при завершении сеанса до истечения срока.
Самым ярким примером использования cookies является хранение
пользовательского логина и пароля для входа на сайт. При очередном переходе на
страницу, где возможна авторизация, данные из cookies (если они не были очищены
или не истек срок их хранения в браузере) автоматически подставляются в поля
логина и пароля. В некоторых случаях используют автоматическую авторизацию,
если такие cookies имеются в браузере пользователя.
Инициализация и установка cookie производится сервером с разрешения
пользователя и представляет собой заголовок вида:
Set-cookie: data
Для удобства работы с этим типом хранения пользовательских данных в PHP
имеется функция setcookie(), которая является, в некотором роде, модификацией
функции header().
Получение COOKIES
После создания cookies возникает вопрос – как получить доступ к ним со
стороны сервера и проверить, например, имя пользователя или его возраст,
сохраненные в cookies с соответствующими именами?
1
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
Файл Listing_40.1_Form.php
<!--Создадим простую форму отправки данных -->
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Форма отправки данных. Листинг 40.1</title>
</head>
<body>
<form action="Listing_40.1_set_cookie.php" style="display:flex; flex-
direction:column; width:200px;" method="post">
<label for="login">Имя пользователя</label>
<input type="text" name="login" style="margin:10px 0; border-radius: 5px;
border: 1px solid rgb(30,30,30); height: 20px;">
<label for="age">Возраст пользователя</label>
<input type="text" name="age" style="margin:10px 0; border-radius: 5px;
border: 1px solid rgb(30,30,30); height: 20px;">
<input type="submit" value="Отправить" style="margin:10px 0; border-radius:
5px; border: none; height: 30px;">
</form>
</body>
</html>
Файл Listing_40.1_set_cookie.php
//Сценарий обработки входящей информации методом POST и отправки данных в
cookies
2
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
Файл Listing_40.1_result.php
<!--Создаем простую страницу ответа пользователю по результатам проверки
данных-->
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Результат обработки запроса</title>
</head>
<body>
<?php
//Обработаем cookies со значением возраста пользователя и проверим,
совершеннолетний ли он. Если совершеннолетний, то выведем сообщение приветствия на
сайте, если нет - выдадим сообщение о несоответствии возрастной категории
if($_COOKIE['age'] >= 18) {
echo "<h1>Привет, {$_COOKIE['name']}!</h1>
<p>Рады приветствовать тебя на нашем сайте!!!</p>";
} else {
echo "<h1>Здравствуй, {$_COOKIE['name']}!</h1>
<p>Извини, но правила нашего сайта не позволяют допускать к просмотру
содержимого лиц, не достигших совершеннолетия.</p>
<b>Как подрастешь - возвращайся!</b>";
}
?>
</body>
</html>