установка 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".