0Pricing
PHP Academy · Урок

Установка и чтение файлов cookie

Создавайте файлы cookie с помощью setcookie и читайте их из _COOKIE

«Установка и чтение файлов cookie» — бесплатный урок PHP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

Что такое файлы cookie?

Файлы cookie — это небольшие фрагменты данных, хранящиеся в браузере. Сервер отправляет их через заголовок Set-Cookie, а браузер возвращает их при каждом последующем запросе.

setcookie()

setcookie() необходимо вызвать до вывода любых данных. Функция добавляет заголовок Set-Cookie к ответу.

<?php
setcookie("username", "alice", time() + 3600);

Параметры setcookie()

Полная сигнатура: setcookie(name, value, expires, path, domain, secure, httponly).

<?php
setcookie(
    "prefs",
    "dark-mode",
    time() + 86400,
    "/",
    "",
    true,
    true
);

Чтение файла cookie

Получайте доступ к файлам cookie через $_COOKIE при следующем запросе (файлы cookie, установленные в текущем запросе, ещё не находятся в $_COOKIE).

<?php
if (isset($_COOKIE["username"])) {
    echo "Hello, ".$_COOKIE["username"];
}

Удаление файла cookie

Установите для файла cookie срок действия в прошлом. Браузер удалит его.

<?php
setcookie("username", "", time() - 3600, "/");

Срок действия файла cookie

Передайте метку времени Unix для $expires. Используйте time() + seconds. Передайте 0 для файла cookie сеанса, срок действия которого истекает при закрытии браузера.

Путь и домен файла cookie

$path ограничивает пути URL, для которых виден файл cookie. Значение / означает все пути. $domain позволяет предоставлять доступ из разных поддоменов: .example.com.

Ограничение размера файла cookie

Браузеры ограничивают размер каждого файла cookie примерно 4 KB. Для больших объёмов данных храните их на сервере, а в файле cookie сохраняйте только ID ссылки.

Массивы файлов cookie

PHP поддерживает файлы cookie в виде массивов, если использовать квадратные скобки в имени.

<?php
setcookie("filters[color]", "blue");
setcookie("filters[size]", "XL");
// Read: $_COOKIE["filters"]["color"]

Просмотр файлов cookie в DevTools

Откройте DevTools → Application → Cookies, чтобы просмотреть все файлы cookie. Здесь проверьте флаги Secure, HttpOnly и SameSite.

Файлы cookie и сеансы

Файлы cookie: хранятся на стороне клиента, имеют ограниченный размер, доступны через JS (если не установлен флаг HttpOnly) и сохраняются между сеансами. Сеансы: хранятся на сервере, не ограничены по размеру и более безопасны.

Итоги

Используйте setcookie() до вывода любых данных. Читайте данные из $_COOKIE при следующем запросе. Правильно задавайте срок действия, путь, домен, флаги Secure и HttpOnly.

Быстрая проверка

Когда файл cookie, установленный с помощью setcookie(), становится доступен в $_COOKIE?

Часто задаваемые вопросы

Урок «Установка и чтение файлов cookie» бесплатный?

Да — полный текст урока «Установка и чтение файлов cookie» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Установка и чтение файлов cookie»?

Создавайте файлы cookie с помощью setcookie и читайте их из _COOKIE Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Установка и чтение файлов cookie»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Запуск и использование сессий
  2. Лучшие практики защиты сессий
  3. Установка и чтение файлов cookie
  4. Безопасность cookie: флаги HttpOnly и Secure
← Назад к PHP Academy