Utilizarea cookie-urilor cu PHP

Ca dezvoltator de site-uri web, puteți utiliza PHP pentru a seta cookie-uri care conțin informații despre vizitatorii site-ului dvs. web. Cookie-urile stochează informații despre un vizitator al site-ului pe computerul vizitatorului, care poate fi accesat la o vizită de întoarcere. O utilizare obișnuită a cookie-urilor este stocarea unui jeton de acces, astfel încât utilizatorul să nu fie nevoie să se autentifice de fiecare dată când vizitează site-ul dvs. web. Cookie-urile pot stoca și alte informații, cum ar fi numele utilizatorului, data ultimei vizite și conținutul coșului de cumpărături.

Deși cookie-urile sunt de mai mulți ani și majoritatea oamenilor le activează, unii utilizatori fie nu le acceptă din cauza problemelor de confidențialitate, fie le șterg automat la închiderea sesiunii de navigare. Deoarece cookie-urile pot fi înlăturate de către un utilizator în orice moment și sunt stocate într-un format simplu, nu le folosiți pentru a stoca nimic sensibil.

Cum să setați un cookie folosind PHP

În PHP, setcookie () funcția definește un cookie. Este trimis împreună cu celelalte anteturi HTTP și se transmite înainte ca corpul HTMLului să fie analizat.

Un cookie urmărește sintaxa:

setcookie (nume, valoare, expiră, cale, domeniu, sigur, HttpOnly);

Unde Nume denumește cookie-ul și valoare descrie conținutul cookie-ului. Pentru setcookie () funcție, numai funcția Nume parametrul este necesar. Toți ceilalți parametri sunt opționali. 

Exemplu Cookie

Pentru a seta un cookie numit „UserVisit” în browserul vizitatorului care stabilește valoarea la data curentă și stabilește suplimentar expirația în 30 de zile (2592000 = 60 secunde * 60 min * 24 ore * 30 zile), utilizați următoarele Cod PHP:

Luna lunar = 2592000 + timp ();
// aceasta adaugă 30 de zile la ora curentă
setcookie (UserVisit, data ("F jS - g: i a"), $ Luna);
?>

Cookie-urile trebuie trimise înainte ca orice HTML să fie trimis pe pagină sau acestea nu funcționează, deci setcookie () funcția trebuie să apară înainte de etichetă.

Cum să regăsiți un modul cookie folosind PHP

Pentru a prelua un cookie de pe computerul utilizatorului la următoarea vizită, apelați-l cu următorul cod:

if (isset ($ _ COOKIE [ 'UserVisit']))

$ last = $ _COOKIE ['UserVisit'];
ecou „Bun venit înapoi!
Ați vizitat ultima dată pe ". $ Last;

altfel

ecou „Bine ați venit pe site-ul nostru!”;

?>

Acest cod verifică mai întâi dacă cookie-ul există. Dacă o face, îl întâmpină pe utilizator înapoi și anunță când a vizitat ultima dată. Dacă utilizatorul este nou, acesta imprimă un mesaj de întâmpinare generic.

BACSIS: Dacă apelați un cookie pe aceeași pagină pe care intenționați să îl setați, regăsiți-l înainte de a-l suprascrie.

Cum să distrugi un cookie

Pentru a distruge un cookie, utilizați setcookie () din nou, dar setați data de expirare să fie în trecut:

$ trecut = timp () - 10;
// acest lucru face ca acum 10 secunde
setcookie (UserVisit, data ("F jS - g: i a"), $ trecut);
?>

Parametri opționali

Pe lângă valoare și expira, setcookie () funcția acceptă mai mulți alți parametri opționali:

  • cale identifică calea serverului a cookie-ului. Dacă îl setați pe „/” atunci cookie-ul va fi disponibil pentru întregul domeniu. În mod implicit, modulul cookie funcționează în directorul în care este setat, dar îl puteți forța să lucreze în alte directoare, specificându-le cu acest parametru. Această funcție este în cascadă, astfel încât toate subdirectoarele dintr-un director specificat vor avea, de asemenea, acces la cookie.
  • Domeniu   identifică domeniul specific în care cookie-ul funcționează. Pentru ca cookie-ul să funcționeze pe toate subdomeniile, specificați explicit domeniul de nivel superior (de exemplu, "sample.com"). Dacă setați domeniul la „www.sample.com”, cookie-ul este disponibil numai în subdomeniul www.
  • Sigur specifică dacă modulul cookie trebuie transmis printr-o conexiune sigură. Dacă această valoare este setată la ADEVĂRAT, cookie-ul va fi setat doar pentru conexiunile HTTPS. Valoarea implicită este FALSE.
  • HttpOnly , atunci când este setat pe TRUE, va permite accesul la cookie numai prin protocolul HTTP. În mod implicit, valoarea este FALSE. Avantajul setării cookie-ului la TRUE este că limbajele de script nu pot accesa cookie-ul.