пример
В следующем примере создается печенье с PHP. Печенье называется "user" и значение будет "John Doe" . Значение куки не будет URL закодирован. Печенье истекает через 30 дней (86400 * 30) . Использование "/" , означает , что печенье доступно на всей веб - сайте (otherwise, select the directory you prefer) в (otherwise, select the directory you prefer) , который (otherwise, select the directory you prefer) :
<?php
$cookie_name = "user";
$cookie_value = "John";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
//
86400 = 1 day
?>
<html>
<body>
<?php
echo "Cookie is set.";
?>
</body>
</html>
?>
Выполнить пример » Определение и использование
setrawcookie() Функция определяет печенье (without URL encoding) для отправки вместе с остальной частью заголовков HTTP.
Куки часто используется для идентификации пользователя. Печенье это небольшой файл, который сервер встраивает на компьютере пользователя. Каждый раз, когда тот же компьютер запрашивает страницу с помощью браузера, он будет посылать кук тоже. С PHP, вы можете не только создавать и извлекать значения куков.
Имя куки автоматически присваивается переменной с тем же именем. Например, если куки был послан с именем "user" , переменным автоматически создается с именем $ пользователя, содержащее значение куков.
Note: setrawcookie() функция должна появиться перед <html> тега.
Note: Для автоматического URL-кодирование значения куков при отправке, и автоматически декодировать при получении, используйте setcookie() функцию вместо этого.
Синтаксис
setrawcookie( name,value,expire,path,domain,secure );
параметр | Описание |
---|---|
name | Необходимые. Задает имя куки |
value | Необязательный. Задает значение куки |
expire | Необязательный. Указывает, когда истекает срок действия куки. Значение: time() + 86400 * 30, установит печенье истекает через 30 дней. Если этот параметр не установлен, то печенье истекает в конце сессии (when the browser closes) |
path | Необязательный. Задает путь к серверу куки. Если установлено значение "/" , куки будут доступны в пределах всей области. Если установлено значение "/php/" , куки будут доступны в каталоге PHP и все подкаталоги РНР только. Значение по умолчанию является текущим каталогом, печенье создается в |
domain | Необязательный. Задает имя домена куки. Для того, чтобы сделать печенье на все поддомены example.com, установить домен ".example.com" . Установка в www.example.com будет делать печенье доступны только в WWW субдомен |
secure | Необязательный. Определяет, будет ли или нет куки должны передаваться только через защищенное соединение по протоколу HTTPS. TRUE, указывает на то, что печенье будет установлен только если защищенное соединение существует. Значение по умолчанию FALSE. |
Технические подробности
Возвращаемое значение: | ИСТИНА на успех. FALSE при неудаче |
---|---|
PHP версии: | 5+ |
Еще примеры
пример
Получить значение куки с именем "user" ( с использованием глобальной переменной $ _COOKIE). Также используйте isset() функцию , чтобы выяснить , если печенье существует:
<html>
<body>
<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' does not
exist!";
} else {
echo "Cookie is named: " . $cookie_name
. "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Выполнить пример » пример
Чтобы изменить печенье, просто установите (again) печенье с помощью setrawcookie() функции:
<?php
$cookie_name = "user";
$cookie_value = "Alex";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' does not
exist!";
} else {
echo "Cookie is named: " . $cookie_name
. "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Выполнить пример » пример
Чтобы удалить куки, используйте setrawcookie() функцию с даты истечения срока действия в прошлом:
<?php
$cookie_name = "user";
unset($_COOKIE[$cookie_name]);
// empty value and expiration one hour
before
$res = setrawcookie($cookie_name, '', time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user'
is deleted.";
?>
</body>
</html>
Выполнить пример » пример
Создайте небольшой скрипт , который проверяет , является ли cookies включены. Во- первых, попытайтесь создать тестовую печенье с setrawcookie() функции, а затем подсчитывают переменную массива $ _COOKIE:
<?php
setrawcookie("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 Ссылки