Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

PHP Учебник


PHP Формы


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


PHP ООП


MySQL База данных


PHP XML


PHP - AJAX


PHP Примеры


PHP Справочник



PHP Куки (Cookies)



Что такое куки?

Куки — это небольшой текстовый файл, который сервер сохраняет в веб-браузере пользователя. Затем куки отправляются вместе с каждым HTTP-запросом к серверу.

Куки идеально подходят для хранения информации, которая может быть получена позже. Вот несколько примеров:

  • Имя пользователя
  • Поддержание статуса входа
  • Содержимое корзины покупок
  • Языковые настройки
  • Отслеживание активности пользователя

Создание куки в PHP

Куки создаются с помощью функции setcookie().

Синтаксис

setcookie(имя, значение, срок_действия, путь, домен, secure, httponly);

Обязательным является только параметр имя. Все остальные параметры являются необязательными.

  • name - Обязательный. Указывает имя куки
  • value - Необязательный. Указывает значение куки
  • expire - Необязательный. Указывает, когда истекает срок действия куки
  • path - Необязательный. Указывает серверный путь куки
  • domain - Необязательный. Указывает доменное имя куки
  • secure - Необязательный. Указывает, должна ли куки передаваться только через защищенное HTTPS-соединение
  • httponly - Необязательный. Если установлен в TRUE, куки будет доступна только через HTTP-протокол

Примечание: Функция setcookie() должна находиться ДО тега <html>, поскольку куки являются частью HTTP-заголовка.

Чтобы получить значение куки, используйте суперглобальную переменную $_COOKIE.


Создание и получение куки в PHP

Следующий пример создает куки с именем "username" и значением "Иван Петров".

Мы устанавливаем срок действия 30 дней (86400 = 1 день).

Мы устанавливаем путь "/", что означает, что куки доступна на всем веб-сайте (в противном случае выберите нужный вам каталог).

Чтобы получить значение куки "username", используйте суперглобальную переменную $_COOKIE.

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

Пример

<?php
$cookie_name = "username";
$cookie_value = "Иван Петров";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 день
?>

<html>
<body>
<?php
if(isset($_COOKIE[$cookie_name])) {
  echo "Куки '" . $cookie_name . "' установлена!<br>";
  echo "Значение: " . $_COOKIE[$cookie_name];
} else {
  echo "Куки с именем '" . $cookie_name . "' не установлена!";
}
?>
</body>
</html>

Примечание: Функция setcookie() должна находиться ДО тега <html>.

Примечание: Значение куки автоматически кодируется URL при отправке куки и автоматически декодируется при получении (чтобы предотвратить URL-кодирование, используйте setrawcookie()).



Изменение значения куки

Чтобы изменить куки, просто установите (снова) куки с помощью функции setcookie():

Пример

<?php
$cookie_name = "username";
$cookie_value = "Алексей Смирнов";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>

<html>
<body>
<?php
if(isset($_COOKIE[$cookie_name])) {
  echo "Куки '" . $cookie_name . "' установлена!<br>";
  echo "Значение: " . $_COOKIE[$cookie_name];
} else {
  echo "Куки с именем '" . $cookie_name . "' не установлена!";
}
?>
</body>
</html>

Удаление куки

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

Пример

<?php
// устанавливаем дату истечения на один час назад
setcookie("username", "", time() - 3600);
?>
<html>
<body>

<?php
echo "Куки 'username' удалена.";
?>

</body>
</html>

Проверка включены ли куки

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

Пример

<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>

<?php
if(count($_COOKIE) > 0) {
  echo "Куки включены.";
} else {
  echo "Куки отключены.";
}
?>

</body>
</html>

Полный справочник сетевых функций PHP

Для получения полного справочника сетевых функций перейдите к нашему Полному справочнику сетевых функций PHP.



×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

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

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.