Sesiuni PHP și cookie-uri

P

Paginile web trebuie să stocheze datele temporar sau permanent pentru a efectua cu succes operațiunile de solicitare și răspuns. Aproape fiecare limbaj de dezvoltare web oferă sesiuni și cookie-uri pentru a stoca informațiile despre client și server. Este responsabil pentru experiență fără probleme și securitate. În acest tutorial PHP, veți afla despre sesiunile PHP și cookie-uri. Deci, haideți să ne aprofundăm.

Ce sunt cookie-urile în PHP?

Cookie-urile sunt fișiere mici în stocarea computerului clientului. Aceste cookie-uri sunt stocate în browser și pot conține informații legate de utilizator, cerere, răspuns și server. Aceste cookie-uri merg cu cererea către server care îi permite serverului să identifice utilizatorul.

De asemenea, un utilizator își poate crea propriile cookie-uri și stoca date în ele. Ulterior, utilizatorul poate accesa aceste cookie-uri.

Cum se creează un cookie în PHP?

Metoda PHP setcookies() creează un cookie nou.

setcookie(name, value, expire, path, domain, secure, httponly);

În sintaxa generală de mai sus a cookie-ului PHP, este necesar doar primul parametru, care este numele cookie-ului. Restul parametrilor sunt optionali.

setcookie("my_first_cookie","It contains string");

Cum să obțineți cookie-uri și valoarea lor în PHP?

Toate cookie-urile sunt stocate în variabila globală PHP $_COOKIE. Pentru a obține cookie-ul și valoarea acestuia, pur și simplu treceți numele cookie-ului variabilei globale. Având în vedere cookie-ul de mai sus creat în exemplu, uitați-vă la următoarea sintaxă pentru a obține cookie-ul folosind globals.

$_COOKIE["my_first_cookie"] // will return "It contains String"

Cum să șterg cookie-urile în PHP?

Puteți seta timpul de expirare pentru un cookie. După expirarea timpului, cookie-ul se va șterge automat. Priviți exemplul de mai jos, în care creăm un cookie și îi setăm timpul de expirare.

setcookie("my_first_cookie","It contains String", time() + (86400), "/"); // 86400 = 1 day

În exemplul de mai sus, cookie-ul „my_first_cookie” va expira după o zi. Rețineți că timpul de expirare a cookie-ului trebuie să fie în număr de secunde. Prin urmare, am folosit funcția time() care returnează ora curentă și adaugă numărul de secunde dintr-o zi, adică 86400.

Cum se actualizează cookie-ul în PHP?

Puteți actualiza un cookie folosind aceeași metodă setcookie(). Doar apelați funcția după numele cookie-ului și puteți seta alți parametri ai cookie-ului.

setcookie("my_first_cookie","It contains String", time() + (86400 * 2), "/"); // 86400 = 1 day

În exemplul de mai sus, am apelat metoda setcookie() pentru același cookie pe care l-am creat în exemplul anterior. Să presupunem că dorim să creștem timpul de expirare al cookie-ului de la o zi la două zile. Pur și simplu, modificați parametrul timpului de expirare.

Notă: Când cookie-urile sunt setate, în mod implicit, acestea sunt codificate URL în timpul trimiterii cererii și decodificate când sunt primite. Pentru a dezactiva codarea URL, puteți utiliza metoda setrawcookie().

Deoarece acum sunteți familiarizat cu actualizarea cookie-urilor, permiteți-ne să oferim o altă metodă de ștergere a unui cookie, mai ales dacă nu este setat un timp de expirare pentru cookie. Pur și simplu, actualizați timpul de expirare a cookie-ului la trecut.

setcookie("my_first_cookie","", time() - 3600); // delete the cookie immediately

Verificați dacă browserul dvs. permite cookie-uri?

Iată trucul simplu prin care poți verifica dacă browserul a activat cookie-urile sau nu. Setați un cookie folosind metoda setcookie(). După cum știm din învățarea anterioară, că matricea $_COOKIE stochează toate cookie-urile. Deci, verificați numărul acestei matrice.

<?php
if(count($_COOKIE) > 0) {
  echo "Cookies are enabled.";
} else {
  echo "Cookies are disabled.";
}
?>

Sesiuni PHP

Dacă sunteți pe computer și utilizați o aplicație pentru ceva timp, apoi închideți-o. Computerul va avea o înregistrare a utilizatorului aplicației și, de asemenea, evidența acțiunilor efectuate cu aplicația. Dar, pe site, protocolul HTTP nu menține starea utilizatorului.

Dacă doriți să persistați și să accesați o valoare pe mai multe pagini web, sesiunea este acolo pentru a rezolva această problemă. În această secțiune, vom învăța cum să lucrăm cu sesiuni PHP pentru a stoca și accesa valori.

Notă: Sesiunea nu este stocare permanentă. O sesiune începe la deschiderea paginii web și se termină când închideți acel web. Baza de date este soluția de stocare permanentă pe care o vom afla în secțiunea baze de date a tutorialelor PHP.

Cum se începe o sesiune în PHP?

Pentru a începe o sesiune în PHP, utilizați funcția session_start(). Asigurați-vă că această funcție ar trebui apelată în partea de sus a scriptului PHP. Următorul pas este stocarea valorii în matricea globală a sesiunii. Priviți exemplul complet de pornire a unei sesiuni și stocarea valorilor în ea.

<?php
// Start the session
session_start();

// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

Cum să obțineți valoarea sesiunii din matricea globală?

Pur și simplu, pe măsură ce accesăm valoarea cookie-ului din matricea globală cookie, folosiți matricea globală de sesiune pentru a accesa valoarea sesiunii. Uită-te la următorul exemplu.

echo "Favorite animal is " . $_SESSION["favanimal"] . ".";

Cum se actualizează variabila de sesiune?

Apelați matricea globală de sesiune cu numele variabilei de sesiune și atribuiți-i noua valoare.

$_SESSION["favcolor"] = "yellow";

Eliminarea sesiunii vs Distrugerea sesiunii

Eliminarea unei sesiuni înseamnă eliminarea tuturor valorilor stocate în sesiunea curentă.

session_unset();

Distrugerea unei sesiuni înseamnă oprirea sesiunii care a fost începută folosind session_start()

session_destroy();

Sesiunile sunt protejate de o cheie specială împotriva utilizatorului. Ele sunt stocate cu o cheie precum „765487cf34ert8dede5a562e4f3a7e12” în computer. Deci, atunci când sesiunea trebuie să acceseze valoarea stocată în ea pe o altă pagină web a site-ului, această cheie este asociată cu cheia stocată în computerul clientului.

Pentru a obține referințe complete ale sesiunilor PHP, vizitați aici

Adaugă comentariu

Rețeaua de tutori

Învață PHP de la A la Z