Работа с бисквитки

Проследяване на потребителите и персонализиране на сайта, са сред най-популярните и в същото време двусмислено възприемат възможности на уебсайтовете. Предимствата са очевидни - можете да предложите на потребителите точно информацията, която ги интересува. От друга страна, има много въпроси, свързани с неприкосновеността на личния живот, тъй като можете да "следват" В същото време, тъй като потребителят движи от страница на страница, а дори и в зависимост от мястото.

Концепция за "наблюдение" за потребителя в процеса на преминаване на сайта обикновено се нарича "проследяване на сесията» (проследяване на сесия). Като се има предвид огромното количество полезна информация, която се получава чрез проследяване на сесията на сайта, може да се каже, че предимствата на проследяване на сесиите и персонализиране на съдържанието на сайта далеч надхвърлят всякакви недостатъци. Малко вероятно е, че тази книга може да се счита за пълно урок за PHP, ако не бях посветена цяла глава за това означава, проследяващи сесии в PHP. В тази глава ще разгледаме някои от концепциите, които са свързани с проследяване на сесии, а именно - бисквитка и тяхното прилагане, както и уникалните идентификационни номера на сесиите. Главата завършва с обобщение на стандартни PHP функции за проследяване на сесии.

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

Поради това, че бисквитката обикновено се свързва с конкретен потребител, те често задържа уникален идентификатор на потребителя (ЕГН). Този идентификатор се съхранява в базата данни на сървъра и се използва като ключов за извличане от базата данни на цялата информация, свързана с този номер. Разбира се, запазване ЕИН в бисквитката не е изискване; можете да запазите информация условие че общото количество не надвишава 4 KB (4096 байта).

компоненти бисквитки

Бисквитката се съхранява, както и други компоненти, с помощта на която програмистът може да ограничават използването на домейн бисквитка позиции, начини, действия и безопасността на живота. Следва описание на различните компоненти на бисквитката:

Въпреки че създаването на бисквитка, като се използват едни и същи правила синтактични формат за съхранение бисквитка зависи от браузъра. Например, Netscape Communicator съхранява бисквитка във формат, който прилича на следното:

phprecipes.com фалшиви / FALSE 97728956 BGCOLOR синьо

В Internet Explorer, същата бисквитката ще изглежда по различен начин:

Internet Explorer държи бисквитата в папка с името «бисквитки», а Netscape Communicator използва за тази цел файл с име бисквитки.

Cookie и PHP

Достатъчно теория. Разбира се, че не мога да чакам да се научите как да я е задал в PHP. Оказва се, че много проста - за тази цел, стандарта на setcookie ().

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

вътр setcookie (име низ [низ стойност [, дата инт [, низ път [, низ домейн [, безопасност инт]]]]])

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

Преди да продължим, аз ви моля да прочетете следната фраза не е един, не два, а три пъти. Cookie стойност трябва да се зададе преди да бъдат предадени към браузъра на всяка друга информация, имаща отношение към страницата. Напишете изречението 500 пъти в тетрадка, се татуировка, и научи папагала си да каже тези думи - накратко, покаже въображение. С други думи, на стойност бисквитка не може да се настрои на произволна позиция уеб-страница. Следва да се уточни, преди да изпрати данни на браузъра; в противен случай бисквитката няма да работи.

Има и друг важен ограничение, което също трябва да се помни - няма да бъде в състояние да създаде бисквитка и да го използвате на същата страница. Или потребителят трябва ръчно да обновите страницата (въпреки че няма да може да разчита на него), или трябва да се изчака до следващата заявка на тази страница - и едва след това ще бъде възможно да се използва бисквитка.

Функцията следния пример setcookie () се използва за създаване на бисквитка за идентификация на потребителя:

$ Cookie_set = setcookie ( "UID", $ стойност, време () + 3600, "/", ".phprecipes.com", 0);

Последици от бисквитката:

  • След рестартирането или да преминете към друга страница е достъпна променлива $ потребителско име, съдържащ идентификатор 4139b31b7bab052.
  • Бисквитката изтича точно една час (3600 секунди), след изпращане. След изтичане на този период става невалиден бисквитка.
  • Достъп до бисквитката е разрешено само phprecipes.com домейн.
  • Разрешение за достъп до бисквитката чрез незащитена протокол.

Следващият пример (Обява 13.1) бисквитка се използва за съхраняване на параметрите на страница форматиране (в този случай - цвета на фона). Забележка: стойност бисквитка е даден само като резултат от действието определен за формата.

Обявата 13.1.Sohranenie фон цвят избран от потребителя

// Ако не съществува BGCOLOR променливата $ на

setcookie ( "BGCOLOR", $ BGCOLOR, време () + 3600);