Робота з cookie в php установка і видалення cookie, приклади установки і отримання cookie
Що таке cookie
Файли cookie містити в собі інформацію у вигляді пар ім'я = значення. Наприклад, в cookie можна записати логін і пароль користувача і зберігати їх на комп'ютері клієнта, щоб він наступного разу не залогінівался заново. Звичайно, зберігання логіна і пароля в cookie не самий безпечний спосіб, і ці дані краще зберігати використовуючи сесії в PHP. але як приклад використання cookie цей випадок підійде.
PHP програма дає команду браузеру-клієнту встановити cookie використовуючи рядок в заголовку відповіді. Тобто ви повинні уявляти, як працює інтернет, що таке заголовок запиту і заголовок відповіді, щоб зрозуміти як працює установка cookie.
Отже, всю інформацію про те, які cookie повинен встановити браузер, PHP програма відправляє в заголовку відповіді.
Насправді все дуже просто, Новомосковський далі і дивимося приклади.
Установка cookie в PHP
Для установки cookie в мові PHP є функція setcookie (). вона і задає cookie, яке буде передано браузеру разом з іншими HTTP заголовками.
Всі заголовки, які створює ваш скрипт, повинні бути відправлені до того, як ваш скрипт щось виведе у вікно браузера.
Повернемося до нашої функції. Ось її синтаксис:
bool, string, int в цьому синтаксисі ‐ це типи даних. Тобто "bool setcookie ()" позначає те, що функцій setcookie () повертає значення булевого типу. Далі, перший і другий аргумент (ім'я та значення) повинні бути типу рядок (string), і так далі.
Відразу скажу, для початку вам знадобиться тільки перші три параметри. На інші можете поки не звертати уваги.
Тільки перший параметр обов'язковий. Якщо упустити третій параметр, то за замовчуванням він буде рівним нулю, це означає що cookie зникнуть відразу після закриття браузера.
Ось приклад установки cookie:
Цей приклад лише встановлює cookie на комп'ютер клієнта.
Далі ми розглянемо більш змістовні приклади.
Отримання cookie в PHP
У минулому прикладі ми відправили браузеру команду створити cookie. Тепер він їх створив, і коли наступного разу браузер відправить запит серверу, то він передасть вміст cookie в заголовку запиту.
В PHP-програннме можна визначити, надіслав браузер cookie чи ні дуже просто. Вони доступні в масиві $ _COOKIE.
Давайте усложним минулий приклад:
Коли ви відкриєте сторінку прикладу в перший раз, то за привітанням нічого не буде. Це потім що cookie покладені на ваш комп'ютер, але сервера ще не відправлені.
Хоча в масиві $ _COOKIE вже може щось бути, але тоді ці cookie покладає не наш приклад.
Тільки відновивши сторінку вдруге ви побачите, що PHP програма отримала пару $ _COOKIE [message] => welcome.
Зверніть увагу, що cookie покладені на одну хвилину, а це значить що через хвилину, якщо оновити сторінку, вітання знову буде відсутній.
Мабуть ось і все що стосується отримання доступу до інформації з cookie в PHP.
Видалення cookie в PHP
Щоб видалити cookie потрібно просто поставити їх термін життя в минулому часі.
Зверніть увагу, я поставив минулий час з запасом, на випадок якщо на комп'ютері клієнта час встановлено неточно.
Приклад роботи cookie в PHP
Зверніть увагу, що дані в цьому прикладі живуть 60 секунд, потім лічильник обнулится.
На цьому тема робота з cookie в PHP розкрита практично повністю.