PHP 5 Cookies - Куки

Курс по основам языка программирования PHP.
W3Schools на русском языке. Уроки для начинающих



Файл куки / cookie часто используется для идентификации пользователя.


Что такое куки / cookie?

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


Создание куки / cookie с PHP

Файл cookie создается с помощью функции setcookie().

Синтаксис

setcookie(name, value, expire, path, domain, secure, httponly);

Только параметр name является обязательным. Все остальные параметры необязательны.


PHP Создание/Получение Cookie

В следующем примере создается файл cookie с именем "user" со значением "John Doe". Срок действия файла cookie истекает через 30 дней (86400 * 30). Символ "/" означает, что файл cookie доступен на всем веб-сайте (в противном случае выберите каталог, который вы предпочитаете).

Затем мы получаем значение cookie "user" (используя глобальную переменную $_COOKIE). Мы также используем функцию isset(), чтобы узнать, установлен ли файл cookie:

Пример

<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>

<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>


</body>
</html>
Выполнить пример »

Примечание: Функция setcookie() должна появиться ПЕРЕД тегом <html>.

Примечание: Значение cookie автоматически URL-кодируется при отправке cookie-файла и автоматически декодируется при получении (чтобы предотвратить кодирование URL-адреса, используйте вместо этого setrawcookie()).


Изменение значения cookie

Чтобы изменить cookie, просто установите (снова) cookie, используя функцию setcookie():

Пример

<?php
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>

<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>


</body>
</html>
Выполнить пример »

Удаление Cookie

Чтобы удалить cookie, используйте функцию setcookie() с датой истечения срока действия в прошлом:

Пример

<?php
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>

<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>


</body>
</html>
Выполнить пример »

Проверьте, включены ли файлы cookie

В следующем примере создается небольшой скрипт, который проверяет, включены ли файлы cookie. Сначала попробуйте создать тестовый файл cookie с помощью функции setcookie(), затем подсчитайте переменную массива $_COOKIE:

Пример

<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>

<html>
<body>

<?php
if(count($_COOKIE) > 0) {
    echo "Cookies are enabled.";
} else {
    echo "Cookies are disabled.";
}
?>


</body>
</html>
Выполнить пример »

Полный справочник по PHP HTTP

Для получения более полной информации об HTTP функциях, перейдите на PHP HTTP Справочник.


Проверьте себя с помощью упражнений

Упражнение:

Создайте cookie с именем "username".

("username", "John", time() + (86400 * 30), "/");


W3Schools на русском уроки для начинающих для новичков основы языка курсы с нуля язык php файлы куки cookie в PHP что такое куки / cookie в PHP справочник HTTP в PHP примеры PHP


warning

Не выкладывайте свой код непосредственно в комментариях, он отображается некорректно. Воспользуйтесь такими сервисами, как jsfiddle.net, codepen.io, liveweave.com, jsbin.com, сохраните код на любом из этих сервисов и в комментариях дайте на него ссылку. Так будет виден и код, и результат.