Последние учебники веб-разработки
×

PHP Руководство

PHP ГЛАВНАЯ PHP вступление PHP устанавливать PHP Синтаксис PHP переменные PHP Echo / Версия для печати PHP Типы данных PHP Строки PHP Константы PHP операторы PHP If...Else...Elseif PHP Switch PHP В то время как Loops PHP Для Loops PHP функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные

PHP обращение

PHP форма обращение PHP форма Проверка PHP форма необходимые PHP форма URL/E-mail PHP форма полный

PHP продвинутый

PHP Массивы Мульти PHP Дата и время PHP Включают PHP файл обращение PHP файл Открыть / Read PHP файл Создание / запись PHP файл Загрузить PHP Cookies PHP Sessions PHP фильтры PHP Filters продвинутый PHP Ошибка обращение PHP исключение

MySQL Database

MySQL База данных MySQL соединение MySQL Create DB MySQL Create Таблица MySQL Insert Data MySQL Получить Последняя ID MySQL Вставка нескольких MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML Парсеры PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX вступление AJAX PHP AJAX База данных AJAX XML AJAX Live Search AJAX RSS Reader AJAX Голосование

PHP Examples

PHP Примеры PHP викторина PHP сертификат

PHP Справка

PHP массив PHP Календарь PHP Дата PHP каталог PHP Ошибка PHP Файловая система PHP Фильтр PHP FTP PHP HTTP PHP Libxml PHP почта PHP математический PHP Разное PHP MySQLi PHP SimpleXML PHP строка PHP XML PHP Zip PHP Часовые пояса

 

PHP setcookie() Function

<PHP HTTP Ссылки

пример

Следующий пример создает куки с именем "user" со значением "John Doe" . Печенье истекает через 30 дней (86400 * 30) . "/" Означает , что печенье доступно на всей веб - сайте (otherwise, select the directory you prefer) в (otherwise, select the directory you prefer) , который (otherwise, select the directory you prefer) .

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

<!DOCTYPE html>
<?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() Функция определяет куки для отправки вместе с остальной частью заголовков HTTP.

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

Имя куки автоматически присваивается переменной с тем же именем. Например, если куки был послан с именем "user" , переменным автоматически создается с именем $ пользователя, содержащее значение куков.

Note: setcookie() функция должна появиться перед <html> тега.

Note: Значение куки автоматически URLencoded при отправке куки, и автоматически декодируются при приеме (для предотвращения URLencoding, использование setrawcookie() вместо этого).

Синтаксис

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

параметр Описание
name Необходимые. Задает имя куки
value Необязательный. Задает значение куки
expire Необязательный. Указывает, когда истекает срок действия куки. Значение: time() + 86400 * 30, установит печенье истекает через 30 дней. Если этот параметр опущен или установлен в 0, печенье истекает в конце сеанса (when the browser closes) . Значение по умолчанию 0
path Необязательный. Задает путь к серверу куки. Если установлено значение "/" , куки будут доступны в пределах всей области. Если установлено значение "/php/" , куки будут доступны в каталоге PHP и все подкаталоги РНР только. Значение по умолчанию является текущим каталогом, печенье создается в
domain Необязательный. Задает имя домена куки. Для того, чтобы сделать печенье на все поддомены example.com, установить домен "example.com" . Установка в www.example.com будет делать печенье доступны только в WWW субдомен
secure Необязательный. Определяет, будет ли или нет куки должны передаваться только через защищенное соединение по протоколу HTTPS. TRUE, указывает на то, что печенье будет установлен только если защищенное соединение существует. По умолчанию FALSE
httponly Необязательный. Если установлено значение TRUE , печенье будет доступен только через протокол HTTP (the cookie will not be accessible by scripting languages) . Этот параметр может помочь уменьшить кражи личных данных с помощью атак XSS. По умолчанию FALSE

Технические подробности

Возвращаемое значение: ИСТИНА на успех. FALSE при неудаче
PHP версии: 4+
PHP Changelog: PHP 5.5 - Атрибут Max-Age был включен в заголовке Set-Cookie, отправляемый клиент
РНР 5.2 - Параметр HttpOnly был добавлен

Еще примеры

пример

Несколько истекает срок для печенья:

<?php
$value = "Hello world!";

// cookie will expire when the browser close
setcookie("myCookie", $value);

// cookie will expire in 1 hour
setcookie("myCookie", $value, time() + 3600);

// cookie will expire in 1 hour, and will only be available
// within the php directory + all sub-directories of php
setcookie("myCookie", $value, time() + 3600, "/php/");
?>
<html>
<body>

...some code...

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

пример

Чтобы изменить печенье, просто установите (again) печенье с помощью 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>
Выполнить пример »

пример

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

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

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

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

пример

Создайте небольшой скрипт , который проверяет , является ли cookies включены. Во- первых, попытайтесь создать тестовую печенье с 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 Ссылки