Робота з cookie у PHP

куки
Продовжуємо знайомитися з основними принципами веб-програмування. Сьогодні мова піде про так звані кукі (cookie). Cookie — це дані, надіслані клієнту веб-сервером і що зберігаються на стороні клієнта.

Будь-який веб-сценарій, наприклад, PHP-скрипт зазвичай виконується частки секунди, повертаючи інформацію веб-серверу для подальшої відправки. Після завершення роботи сценарію всі дані, створені в оперативній пам'яті у його роботи, знищуються. Іноді ці дані втрачати не можна. Допустимо, на головній сторінці сайту є HTML-форма з пропозицією вибрати кращий колір тла. На всіх сторінках використовується обраний користувачем колір. Значення кольору – це те, що в контексті цього завдання можна зберігати за допомогою cookie.

Для подальшого розуміння функціонування механізму cookie в PHP вам необхідно ознайомитись зі статтею "Інтерпретатор PHP. Основи, принципи функціонування", особливо, що стосується поняття так званого "першого висновку". Отже, задіяти механізм можна на етапі формування відповіді HTTP на запит. Для того, щоб вказати веб-клієнту зберегти в себе якийсь параметр в HTTP-відповідь, додається заголовок Set-Cookie зі значенням виду name=value (ім'я параметра, значення параметра), наприклад:

Таких заголовків може бути кілька, якщо потрібно зберегти більше одного параметра. При отриманні відповіді HTTP веб-браузер перевіряє наявність заголовків Set-Cookie і, якщо такі є, зберігає їх значення у своїх внутрішніх службових файлах. За умовчанням куки прив'язуються до домену сайту. Під час підготовки HTTP-запиту веб-браузер перевіряє, чи є у нього збережені куки, прив'язані до домену, до якого виконується запит. За наявності HTTP-запиту додається заголовок

Де date - дата і час, коли браузеру слід видалити цю куки, наприклад:

Зверніть увагу на формат атрибуту expires.

Більшість параметрів функції необов'язкові. Розберемося на реальному прикладі (запропонована раніше сторінка з вибором кольору фону):