PHP5 Файлы cookie
Файл cookie часто используется для идентификации пользователя.
Что такое Cookie?
Файл cookie - небольшой файл, который внедряется на сервер компьютера пользователя. Каждый раз, когда один и тот же компьютер запрашивает страницу в браузере, он будет отправлять куки. С помощью PHP можно создать и получить значения cookie.
PHP Создание файлов Cookie
Файл cookie создается с помощью функции setcookie()
.
Синтаксис
setcookie(name, value, expire, path, domain, secure, httponly);
Исключительный параметр name, необходим. Все остальные параметры являются необязательными.
PHP Создание и извлечение файлов Cookie
В следующем примере создается файл cookie с именем "Пользователь" со значением "Андрей Щипунов"
.
Файл cookie истекает через 30 дней 86400 * 30
. Слеш "/"
означает, что
файлы cookie доступны на всем веб сайте (в противном случае выберите нужный каталог).
Затем извлекаем значение файла cookie "Пользователь" (используя глобальную переменную
$_COOKIE
. Также используте функцию isset()
, чтобы узнать, установлен ли файл cookie:
Пример
<?php
$cookie_name = "Пользователь";
$cookie_value = "Андрей Щипунов";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 день
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie по имени'" . $cookie_name . "' не задан!";
} else {
echo "Cookie '" . $cookie_name . "' задан!<br>";
echo "Значение: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Смотреть код »
Примечание: Функции setcookie()
должна появиться перед тегом <html>.
Примечание: Когда происходит отправка cookie,
при получения значение файла cookie автоматически декодирует URLencoded (для предотвращения URLencoding,
используйте setrawcookie()
.
PHP Изменение значения Cookie
Чтобы изменить файл cookie, нужно установить файл cookie (еще раз), с помощью функции setcookie()
:
Примечание
<?php
$cookie_name = "Пользователь";
$cookie_value = "Иван Петров";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie по имени'" . $cookie_name . "' не задан!";
} else {
echo "Cookie '" . $cookie_name . "' задан!<br>";
echo "Значение: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Смотреть код »
PHP Удалить Cookie
Чтобы удалить cookie, используйте функцию setcookie()
с датой истечения срока действия в прошлом:
Пример
<?php
// установите срок действия на час назад
setcookie("Пользователь", "", time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'Пользователь' удален.";
?>
</body>
</html>
Смотреть код »
PHP Проверить, включены ли файлы Cookie
В следующем примере создается небольшой скрипт, который проверяет, включенный ли файл cookie.
Во-первых, попробуйте создать тестовый файл cookie с функцией setcookie()
, затем
подключается переменная массива $_COOKIE
:
Пример
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies включены.";
} else {
echo "Cookies отключены.";
}
?>
</body>
</html>
Смотреть код »
РНР Полный http справочник
Для получения полной справки по функции http, посетить полный PHP Справочник HTTP.