установка Cookies
Для установки Cookies використовується функція SetCookie (). Для цієї функції можна вказати шість параметрів, один з яких є обов'язковим:
- name - задає ім'я (рядків), закріплене за Cookie;
- value - визначає значення змінної (рядок);
- expire - час "життя" змінної (ціле число). Якщо цей параметр не вказувати, то Cookie будуть "жити" до кінця сесії, тобто до закриття браузера. Якщо час вказано, то, коли він настане, Cookie самознищиться.
- path - шлях до Cookie (рядок);
- domain - домен (рядок). Як значення встановлюється ім'я хоста, з якого Cookie був записаний;
- secure - передача Cookie через захищене HTTPS-з'єднання.
Зазвичай використовуються тільки три перші параметра.
Приклад установки Cookies:
<? Php
// Встановлюємо Cookie до кінця сесії:
SetCookie ("Test", "Value");
// Встановлюємо Cookie на одну годину після установки:
SetCookie ("My_Cookie", "Value", time () +3600);
?>
При використанні Cookies необхідно мати на увазі, що Cookies повинні встановлюватися до першого виводу інформації в браузер (наприклад, оператором echo або якої-небудь іншої функції). Тому бажано встановлювати Cookies на самому початку скрипта. Cookies встановлюються за допомогою певного заголовка сервера, а якщо скрипт виводить що-небудь, то це означає, що починається тіло документа. У результаті Cookies не будуть встановлені і може бути виведено попередження. Для перевірки успішності установки Cookies можна використовувати такий метод:
<? Php
// Встановлюємо Cookie до кінця сесії:
// В разі успішного встановлення Cookie, функція SetCookie повертає TRUE:
if (SetCookie ("Test", "Value")) echo "<h3> Cookies успішно встановлені! </ h3>";
?>
Функція SetCookie () повертає TRUE у випадку успішної установки Cookie. У випадку, якщо Cookie встановити не вдається SetCookie () поверне FALSE і можливо, попередження (залежить від налаштувань PHP). Приклад невдалого встановлення Cookie:
<? Php
// Cookies встановити не вдасться, оскільки перед відправкою
// Заголовка Cookie ми виводимо в браузер рядок 'Hello':
echo "Hello";
// Функція SetCookie поверне FALSE:
if (SetCookie ("Test", "Value")) echo "<h3> Cookie успішно встановлено! </ h3>";
else echo "<h3> Cookie встановити не вдалося! </ h3>";
// Виводить 'Cookie встановити не вдалося!'.
?>
Cookie встановити не вдалося, оскільки перед посилкою заголовка Cookie ми вивели в браузер рядок "Hello".