Lucrul cu cookie-uri

Urmărirea utilizatorilor și Personalizarea site-ului sunt printre cele mai populare și, în același timp, capabilități de web-site-ului percepute ambigui. Avantajele sunt evidente - vă poate oferi utilizatorilor exact informațiile care îi interesează. Pe de altă parte, există multe probleme legate de viața privată, pentru că puteți „urmări“ în același timp, ca utilizatorul se mută de la o pagină la alta și chiar de la site la site.

Concept pentru „observație“ pentru utilizator în procesul de a muta site-ul este de obicei numit „urmărire sesiune» (de urmărire a sesiunii). Având în vedere cantitatea mare de informații utile, care se obține prin urmărirea sesiunii de pe site-ul, se poate spune că avantajele de urmărire sesiunii și personalizare a conținutului site-ului depășesc cu mult orice dezavantaje. Este puțin probabil ca această carte ar putea fi considerat un program de instruire completă pe PHP, dacă nu aș fi dedicat un întreg capitol înseamnă sesiuni de urmărire în PHP. În acest capitol ne vom uita la unele dintre conceptele care sunt relevante pentru sesiuni de urmărire, și anume - cookie-uri și aplicarea lor, precum și ID-uri unice de sesiune. Capitolul se încheie cu un rezumat al funcțiilor PHP standard, pentru sesiuni de urmărire.

Ce este un cookie?

Deoarece cookie-ul este de obicei asociat cu un anumit utilizator, au păstrat adesea un identificator de utilizator unic (UIN). Acest identificator este stocat într-o bază de date de pe server și este folosit ca o cheie pentru a prelua din baza de date toate informațiile asociate cu ID-ul respectiv. Desigur, păstrarea UIN în cookie nu este o cerință; puteți salva orice informație, cu condiția ca suma totală să nu depășească 4 KB (4096 bytes).

componente pentru cookie-uri

Cookie-ul este stocat, și alte componente, prin care dezvoltatorul poate restricționa utilizarea unui domeniu cookie poziții, modalități, acțiuni și siguranța vieții. Mai jos sunt descrieri ale diferitelor componente ale cookie:

Deși crearea unui cookie utilizând aceleași reguli de sintaxă, format de stocare cookie depinde de browser. De exemplu, Netscape Communicator stochează cookie-ul într-un format care seamănă cu următorul:

phprecipes.com FALSE / FALSE 97728956 bgcolor albastru

În Internet Explorer, același cookie ar arăta în mod diferit:

Internet Explorer păstrează cookie-ul într-un folder numit «Cookies», un Netscape Communicator utilizează în acest scop un fișier numit cookie-uri.

Cookie și PHP

Teoria suficient. Desigur, nu vă puteți aștepta să învețe cum să setați cookie-ul în PHP. Se pare că foarte simplu - în acest scop, standardul la setcookie ().

la setcookie () salvează un cookie pe computerul utilizatorului. Sintaxa pentru funcția setcookie ():

setcookie int (string name [string value [, data int [, cale string [, domeniu string [, siguranta int]]]]])

Dacă citiți informațiile generale despre cookie-ul, atunci sensul setcookie parametrilor (), știi deja. Dacă săriți peste această secțiune și nu sunt familiarizați cu componentele unui cookie, recomand să se întoarcă la începutul capitolului și reciti-l, din moment ce toți parametrii setcookie () descris mai sus.

Înainte de a trece mai departe, vă rugăm să citiți următoarea frază nu este una, nu două, ci de trei ori. Valoarea Cookie trebuie să fie stabilită înainte de transmiterea către browser-ul de orice alte informații relevante pentru pagina. Scrieți expresia de 500 de ori într-un notebook, pentru a primi un tatuaj, și să învețe papagalul să spun aceste cuvinte - pe scurt, arată imaginație. Cu alte cuvinte, valoarea cookie nu poate fi setat la o poziție arbitrară pagină web. Ar trebui să fie specificate înainte de a trimite date browser-ului; în caz contrar cookie-ul nu va funcționa.

Există o altă limitare importantă, care trebuie, de asemenea, să-și amintească - nu va fi capabil de a crea un cookie și să-l utilizați pe aceeași pagină. Sau utilizatorul trebuie să actualizați manual pagina (deși nu se poate conta pe el), sau trebuie să așteptați pentru următoarea cerere către această pagină - și numai după aceea va fi posibilă utilizarea cookie.

Funcția după exemplul setcookie () este utilizat pentru a crea cookie pentru identificarea utilizatorului:

$ Cookie_set = setcookie (, $ valoare "uid", timpul () + 3600, "/", ".phprecipes.com", 0);

Implicațiile cookie:

  • După repornire, sau să sară la o altă pagină este disponibilă $ userid variabilă, care conține un identificator 4139b31b7bab052.
  • Un cookie expiră exact o oră (3600 secunde) după trimiterea. După expirarea acestei perioade devine cookie nevalid.
  • Accesul la cookie-ul este permis numai domeniul phprecipes.com.
  • Permis pentru a accesa cookie-ul printr-un protocol nesigur.

Exemplul următor (Listarea 13.1) cookie este utilizat pentru stocarea parametrilor de formatare (în acest caz - culorile de fond). Notă: Valoarea cookie este dată doar ca urmare a acțiunii stabilite pentru forma.

Listarea 13.1.Sohranenie culoarea de fundal selectată de către utilizator

// Dacă variabila bgcolor $ exists

setcookie ( "bgcolor", $ bgcolor, timp () + 3600);