Sesiuni și cookie-uri în PHP

Metode de solicitare HTTP în PHP
Gestionarea fișierelor în PHP

Pentru a finaliza corect activitățile de solicitare și răspuns, paginile web trebuie să stocheze temporar sau permanent date. Aproape fiecare limbaj de dezvoltare web are sesiuni și cookie-uri pentru a stoca informații despre client și server, oferind o experiență perfectă și sigură. Acest articol va analiza în detaliu sesiunile PHP și cookie-urile.

Ce sunt cookie-urile în PHP?

Cookie-urile sunt fișiere mici care sunt salvate pe computerul clientului și pot include informații despre utilizator, solicita, răspunsul și serverul. Acestea sunt livrate serverului împreună cu solicitările, permițând serverului să identifice utilizatorul. Un utilizator își poate construi propriul fursecuri și stocați datele în ele pentru acces ulterior.

Cum se creează un cookie în PHP

PHP setcookie() metoda este utilizată pentru a crea un cookie nou. Sintaxa generală pentru crearea unui cookie în PHP este următoarea:

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

Primul parametru, name, este singurul necesar. Restul parametrilor sunt optionali. Iată un exemplu de creare a unui cookie:

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

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

PHP stochează cookie-uri în $_COOKIE global variabil. Pentru a obține un cookie și valoarea acestuia, pur și simplu furnizați numele cookie-ului variabilei globale. Iată un exemplu de utilizare a variabilei globale pentru a achiziționa un cookie:

$_COOKIE["my_first_cookie"] // will return "It contains a string"

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

Un cookie poate fi configurat să expire după o anumită perioadă de timp, după care va fi imediat distrus. Iată un exemplu de generare a unui cookie cu expirare de o zi timp:

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

Deoarece perioada de expirare a cookie-ului trebuie să fie în secunde, am folosit timp() pentru a returna ora curentă și pentru a adăuga cantitatea de secunde dintr-o zi (86400).

Cum se actualizează cookie-urile în PHP?

La fel setcookie() poate fi folosită pentru a actualiza un cookie. Pur și simplu invocați funcţie cu numele cookie-ului și setați noile argumente. Iată un exemplu de modificare a perioadei de expirare a unui cookie la două zile:

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

Merită menționat faptul că cookie-urile sunt automat URL codificat atunci când este depus într-o cerere și decodificat când este primit. Funcția setrawcookie() poate fi folosită pentru a dezactiva acest lucru.

De asemenea, puteți șterge un cookie actualizând timpul de expirare la o dată trecută. Iată un exemplu de ștergere imediată a unui cookie:

setcookie("my_first_cookie","", time() - 3600);

Browserul dvs. permite cookie-uri?

Iată o modalitate simplă de a verifica dacă browserul dvs. a activat module cookie:

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

Înțelegerea sesiunilor PHP

Protocolul HTTP nu păstrează starea unui utilizator pe o pagină web. Sesiuni sunt folosite pentru a rezolva provocarea de a persista și de a accesa o variabilă pe mai multe pagini web. În această parte, vom analiza cum să folosiți sesiunile PHP pentru a stoca și accesa valori.

Începerea unei sesiuni

În PHP, utilizați sesiunea Începe() metodă de a iniția o sesiune. Această metodă începe o nouă sesiune sau revine la una existentă. Este esențial să observăm că această funcție trebuie apelată înainte ca orice rezultat să fie transmis către browser; în caz contrar, va fi generată o eroare. Iată un exemplu despre cum să începeți o sesiune:

<?php
session_start();

Stocarea datelor

După începerea unei sesiuni, puteți utiliza variabila globală $_SESSION pentru a salva datele în sesiune. Datele sunt salvate ca perechi cheie-valoare, unde cheia este variabil numele și valoarea sunt datele care trebuie înregistrate. Iată un exemplu de stocare a datelor într-o sesiune:

<?php
session_start();
$_SESSION['username'] = "JohnDoe";

Preluarea datelor

Pentru a prelua date dintr-o sesiune, puteți utiliza $_SESSION variabilă globală și accesați cheia datelor pe care doriți să le preluați. Iată un exemplu de preluare a datelor dintr-o sesiune:

<?php
session_start();
echo $_SESSION['username']; // will output "JohnDoe"

Ștergerea datelor

Pentru a șterge date dintr-o sesiune, puteți anula cheia datelor pe care doriți să le eliminați. Iată un exemplu de ștergere a datelor dintr-o sesiune:

<?php
session_start();
unset($_SESSION['username']);

Distrugerea unei sesiuni

Pentru a distruge o sesiune, puteți utiliza session_destroy() funcţie. Această funcție va elimina toate datele stocate în sesiune și va încheia sesiunea. Iată un exemplu de distrugere a unei sesiuni:

<?php
session_start();
session_destroy();

Q & A

Care este scopul cookie-urilor în PHP?
Cookie-urile sunt fișiere mici stocate pe computerul clientului care pot conține informații legate de utilizator, cerere, răspuns și server. Acestea sunt trimise împreună cu solicitările către server, permițând serverului să identifice utilizatorul.

Cum putem crea un cookie în PHP?
PHP setcookie() metoda este utilizată pentru a crea un cookie nou. Este important de reținut că primul parametru, name, este singurul necesar, în timp ce restul parametrilor sunt opționali.

Cum putem obține valoarea unui cookie în PHP?
Cookie-urile sunt stocate în variabila globală $_COOKIE în PHP. Pentru a obține un cookie și valoarea acestuia, puteți pur și simplu să transmiteți numele cookie-ului variabilei globale.

Cum putem șterge un cookie în PHP?
Puteți seta un timp de expirare pentru un cookie, după care acesta va fi șters automat. De asemenea, puteți actualiza ora de expirare a unui cookie la o dată anterioară pentru a-l șterge imediat.

Care este scopul sesiunilor în PHP?
Sesiunile sunt folosite pentru a persista și a accesa o valoare pe mai multe pagini web.

Exerciții:

  1. Care este diferența dintre o sesiune și un cookie?
  2. Cum începi o sesiune?
  3. Cum setați o variabilă de sesiune?
  4. Cum distrugi o sesiune?
  5. Cum setați un cookie?
  6. Cum recuperezi valoarea unui cookie?
  7. Cum dezactivați un cookie?

Răspunsuri:

  1. O sesiune este o modalitate de a stoca date pe server, în timp ce un cookie este o modalitate de a stoca date pe computerul clientului. Sesiunile sunt de obicei folosite pentru autentificare și autorizare, în timp ce cookie-urile sunt folosite pentru preferințele și urmărirea utilizatorului.
  2. Pentru a începe o sesiune în PHP, utilizați funcția session_start().
  3. Pentru a seta o variabilă de sesiune în PHP, utilizați matricea superglobală $_SESSION, astfel: $_SESSION['variable_name'] = 'value';
  4. Pentru a distruge o sesiune în PHP, utilizați funcția session_destroy().
  5. Pentru a seta un cookie în PHP, utilizați funcția setcookie(), astfel: setcookie('cookie_name', 'value', time() + (86400 * 30), '/');
  6. Pentru a prelua valoarea unui cookie în PHP, utilizați matricea superglobală $_COOKIE, astfel: echo $_COOKIE['cookie_name'];
  7. Pentru a dezactiva un cookie în PHP, utilizați funcția setcookie() cu o dată de expirare în trecut, așa: setcookie('cookie_name', ”, time() – 3600);
Metode de solicitare HTTP în PHP
Gestionarea fișierelor în PHP
en English
X
Derulaţi în sus