PHP функция setrawcookie()
Определение и использование
Функция setrawcookie() не URL-кодирует значение cookie и отправляет HTTP cookie.
Cookie - это переменные, отправляемые сервером браузеру. Cookie обычно представляют собой kleine Textdatei, встроенную сервером в компьютер пользователя. Каждый раз, когда компьютер через браузер запрашивает страницу, этот cookie отправляется.
Имя cookie указывается как имя переменной с таким же именем. Например, если отправляемый cookie называется "name", автоматически создается переменная $user, содержащая значение cookie.
Cookie необходимо присвоить значение до отправки любого другого вывода.
Если функция успешна, она возвращает true,否则 false.
Синтаксис
setcookie(name,value,expire,path,domain,secure)
Параметры | Описание |
---|---|
name | Обязательно. Определяет имя cookie. |
value | Обязательно. Определяет значение cookie. |
expire | Опционально. Определяет срок действия cookie. |
path | Опционально. Определяет серверный путь cookie. |
domain | Опционально. Определяет домен cookie. |
secure | Опционально. Определяет, передается ли cookie через безопасное HTTPS-соединение. |
Советы и примечания
Примечание:Значение cookie с именем "user" можно получить через $HTTP_COOKIE_VARS["user"] или $_COOKIE["user"].
Примечание:setrawcookie() и setcookie() Почти полностью одинаково, разница в том, что значение cookie не автоматически URL-кодируется при отправке клиенту.
Пример
Пример 1
Установка и отправка cookie:
<?php $value = "my cookie value"; // Отправка простого cookie setrawcookie("TestCookie",$value); ?> <html> <body> ... ...
<?php $value = "my cookie value"; // Отправка cookie, который истекает через 24 часа setrawcookie("TestCookie",$value, time()+3600*24); ?> <html> <body> ... ...
Пример 2
Поиск различных методов значения cookie:
<html> <body> <?php // Вывод отдельного cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // Вывод всех cookie print_r($_COOKIE); ?> </body> </html>
Вывод:
my cookie value my cookie value Массив ([TestCookie] => my cookie value)
Пример 3
// Удалите cookie, установив дату истечения срока действия на прошлое дату/время:
<?php // Установите дату истечения срока действия на час назад setrawcookie ("TestCookie", "", time() - 3600); ?> <html> <body> ... ...
Пример 4
Создайте массив cookie:
<?php setrawcookie("cookie[three]","cookiethree"); setrawcookie("cookie[two]","cookietwo"); setrawcookie("cookie[one]","cookieone"); // Вывод cookie (после перезагрузки страницы) if (isset($_COOKIE["cookie"])) { foreach ($_COOKIE["cookie"] as $name => $value) { echo "\$name : \$value <br />"; } } ?> <html> <body> ... ...
Вывод:
three : cookiethree two : cookietwo one : cookieone