tutorial scris de mihai.mitroi 03 mai 2011 / 427 afisari
Mai intai, hai sa vedem ce reprezinmta o sesiune. O sesiunea reprezinta un mod prin care PHP salveaza diverse informatii de la o pagina la alta.
Odata cu pornirea unei sesiuni, utilizatorul poate pastra anumite variabile chiar daca in continuare viziteaza si alte pagini ale site-ului sau alte site-uri. PHP salveaza aceste infomatii atat timp cat browserul este deschis sau pana utilizatorul distruge aceste informatii.
Iata cum se desfasoara lucrurile: in momentul in care cineva s-a logat pe un site, PHP atribuie acestuia un identificator unic de sesiune : SID. Acest SID este introdus intr-un coockie cu numele PHPSESSID si trimis apoi catre browser. Daca browserul nu suporta cookie-uri sau acestea sunt dezactivate, atunci acest SID este adaugat la adresa URL. In acelasi timp se creeaza pe server un fisier cu numele SID. In continuare daca utilizatorul doreste sa stocheze anumite informatii, acestea vor fi practic scrise in acest fisier SID de pe server.
Avantajele sesiunilor:
Pot fi folosite chiar daca browserul nu suporta cookie-uri sau daca acestea au fost dezactivate.
Salveaza o cantitate mare de informatii, spre deosebire de cookie-uri care sunt limitate in aceasta privinta.
Sunt mai sigure decat cookiurile
Pornirea unei sesiuni
Hai sa vedem cum pornim o sesiune. Ea trebuie pornita chiar la inceputul codului nostru, inainte de orice cod HTML sau text.
Sesiunea este initializata cu ajutorul functiei session_start(), ca in exemplul de mai jos:
<??php
session_start();
?>?
Cu cest cod, am inregistrat utilizatorul cu sesiunea curenta si i-am atribuit identificatorul unic de sesiune - SID.
Functia session_start() nu este necesara daca in fisierul "php.ini", variabila session.auto_start are valoarea TRUE.
Utilizarea unei variabile de sesiune
Daca vrei sa stochezi datele despre utilizator intr-o variabila de sesiune, foloseste tabloul $_SESSION. Cu el vei stoca si vei regasi acele date despre utilizator.
<??php
session_start();
$_SESSION['username'] = "Mihai"; //salveaza date
echo "Numele utilizatorului este ". $_SESSION['username']; //afiseaza date
?>?
In exemplul de mai sus, am initializat o sesiune, apoi am atribuit variabilei de sesiune "username" valoarea "Mihai". Apoi am afisat valoarea stocata in aceasta variabila in browser:
Numele utilizatorului este Mihai
Stergerea si distrugerea unei sesiuni
In mod normal, nu este obligatoriu sa distrugi o sesiune, deoarece ea se sterge singura atunci cand utilizatorul inchide browserul. Sutn insa si momente cand poate vei dori sa stergi sesiunea inainte ca acest lucru sa se intample.
In exemplul de mai jos folosim functia unset(), pentru a sterge tot ce are un utilizator in cosul sau de cumparaturi:
Putem distruge complet o sesiune cu ajutorul functiei session_destroy().
<??php
session_start();
session_destroy();
?>?
Prin distrugerea sesiunii, vei pierde toate datele legate de aceasta, deci va trebui sa ai grija cand vei face lucrul acesta.
Citeste si alte tutoriale asemanatoare:
Cum sa scrii text peste o poza cu PHP In acest tutorial te voi invata cum sa scrii un text peste o poza folosind doar un script PHP. Poti face acest lucru cu un program ...