Utilizarea variabilelor și cookie-urile de sesiune

HTTP - .. Un protocol „apatrid“, adică, nu are nici un fel încorporat pentru a salva de stat între două tranzacții. Atunci când utilizatorul deschide prima pagină cu pagină a site-ului, și apoi se trece la o altă pagină de pe același site, se bazează numai pe mijloacele prevăzute de protocolul HTTP, este imposibil să se stabilească faptul că ambele cereri aparțin aceluiași utilizator. Sledo-

quently, avem nevoie de o metodă pentru a urmări utilizatorului în cadrul unei sesiuni de comunicare cu web-site. O astfel de metodă - de management al sesiunii folosind funcțiile desemnate. Pentru noi este important ca sesiunea este, de fapt, este un grup de variabile care, spre deosebire de variabilele normale sunt reținute după finalizarea script PHP.

Fazele atunci când se lucrează cu sesiuni:

variabile de sesiune de înregistrare și utilizarea acestora;

Cel mai simplu mod de a deschide sesiunea - apelează funcția session_start la script PHP:

Această funcție verifică dacă există ID-ul de sesiune, iar dacă nu, creați. În cazul în care există deja identificatorul sesiunii curente, variabilele de sesiune înregistrate sunt încărcate.

După inițializare a sesiunii este posibil pentru a stoca informații în superglobale matrice $ _SESSION. Să fie fișier page1.php în care variabila (Listarea 3,19) este stocat în matrice $ _SESSION.

// Pune valoarea în sesiune

// Afișați un link către o altă pagină

echo "o altă pagină„;

Pe paginile unde session_start () apelul funcției este în curs, valoarea datelor variabile pot fi extrase din superglobale matrice $ _SESSION. Listarea 3.20 emisiuni page2.php conținutul paginii pentru a prelua datele introduse anterior pe pagina page1.php.

// Afișează conținutul $ _SESSION variabila [param1] echo "$ _SESSION [param1] =". $ _SESSION [param1];

După finalizarea sesiunii trebuie să anulați mai întâi toate variabilele de sesiune, iar apoi apelați funcția unset ():

Cookie-urile sunt un mecanism este potrivit pentru programatori și utilizatori. Utilizatorii beneficiază de faptul că nu este necesar de fiecare dată pentru a re-introduce informații despre ei înșiși, și programatori cookie vă ajută să stocați cu ușurință și în siguranță, informații despre utilizatori. Cookie-uri - acesta este un șir de text care este stocat pe partea de client și care conține o pereche de „nume-valoare“, care este asociat cu URL-ul, sub care browser-ul determină dacă pentru a trimite cookie-uri la server aveți nevoie.

Setarea cookie-urilor efectuate cu ajutorul funcției setcookie. Sintaxa: setcookie bool (string name [, string value [, int expiră [, cale string [, domeniu string [, int asigura]]]]])

Argumentele funcției sunt setcookie:

numele - numele variabilei stabilite de cookie;

Valoarea - valoarea stocată în cookie cu numele $ nume;

expiră - timpul în secunde de epoca, după care cookie-ul variabilă curent devine nulă;

cale - calea pe care cookie-ul este disponibil;

Domeniul - domeniul de la care este disponibil un cookie;

sigure - o directivă care stabilește dacă variabila cookie este cererea nu HTPPS. În mod implicit, această directivă este setată la zero, ceea ce înseamnă că puteți accesa prin HTTP cookie cerere normală.

Atunci când se lucrează cu cookie-uri ar trebui sa fie considerat un punct important: variabilele cookie-urilor, este necesar să se stabilească înainte de a fi trimis la browser-ul de orice antete, cookie-uri, deoarece ele însele au forma de antete. Dacă setați cookie-urile după orice text care este trimis la browser-ul, există o situație greșită.

Valoarea stocată în cookie variabilă, pot fi accesate printr-o matrice de $ _COOKIE la nivel mondial []. Deoarece unii utilizatori dezactiva setările pentru cookie-uri în browser pentru a funcționa corect, în aplicațiile pentru a activa cookie-urile, trebuie să plasați codul care verifică dacă cookie-urile de vizitatori sunt activate, iar dacă nu, să-l informeze cu privire la necesitatea de a include cookie-uri (afișare 3.21).

// care va încerca să seteze un cookie

// set cookie numit setcookie ( "test", "1") "test";