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.