Бисквитки

Бисквитките са малки файлове, които се съхраняват на компютъра ви, като най-често се използват, за идентификацията на потребителя.

Какво е PHP бисквитка?

Така наречените бисквитки/cookie/, се използват най-често за идентифициране на потребителя. Когато влезете в даден сайт, сървърът създава бисквитка, която се съхранява на компютъра ви. Така, когато влезете отново в този сайт, през същия компютър, сървърът ще прочете бисквитката и няма да иска отново удостоверяване с парола например или да се вписвате отново. Чрез PHP можем да създаваме и четем бисквитки.


Създаване на бисквитки с PHP

За да създадем бисквитка използваме PHP функцията setcookie(). Единствения задължителен параметър е name. Всички останали са опционални.


Създаване и използване на бисквитка

В следващия пример ще създадем бисквитка с име user и стойност Jon Doe. Бисквитката има живот 30 дни (86400 * 30), а ‘/’ означава, че е валидна за целият уеб сайт. Иначе трябва да определим директорията, за която ще важи.
Трябва да знаете, че функцията setcookie() трябва да се извика преди отварящия HTML таг. Когато искаме да получим бисквитката ще използваме глобалната променлива $_COOKIE. Също така ще проверим дали бисквитката изобщо съществува с вградената функция isset().

Опитайте сами »

Забележка: Стойността на „бисквитката“ автоматично се кодира с URLencoded при изпращане и автоматично се декодира, когато се получи (за да се предотврати кодирането на URL /URLencoding/, вместо това използвайте setrawcookie()).


Модифициране на бисквитка

За да модифицираме дадена бисквитка, просто я презаписваме отново със функцията setcookie().


Изтриване на бисквитка

Ако искаме да изтрием бисквитка, отново използваме функцията setcookie(), като просто на параметъра за дата задаваме минала дата. Вижте урока за PHP дата и час.


Проверка за зададени бисквитки

Можем да проверим, дали има някакви зададени бисквитки, чрез глобалната променлива $_COOKIE. Тази променлива е масив, в който се съхраняват всички бисквитки. При проверката, ако големината на масива е 0, то значи $_COOKIE е празен и няма зададени бисквитки. Следният пример създава малък скрипт, който проверява дали са разрешени „бисквитките“. Първо, опитайте се да създадете тестова „бисквитка“ с функцията setcookie(), като след това с помощта на функцията count() преброяваме елементите, които се съдържат в глобалната променлива $ _COOKIE която е PHP масив: