Curs de web design PHP - http://videotutoriale35.blogspot.ro/

Page 1

Utilizarea de sesiuni PHP • •

Învăţaţi să creaţi sesiuni în PHP Învăţaţi să lucraţi cu variabile din sesiuni şi să ştergeţi datele sesiunii

1. Despre sesiuni, crearea unei sesiuni PHP Sesiunea reprezintă o modalitate prin care PHP reţine informaţii de la o pagină la alta. Odată cu iniţializarea unei sesiuni, utilizatorul poate păstra anumite variabile chiar dacă în continuare vizitează şi alte pagini ale site-ului. În principiu informaţia se păstrează până la închiderea browser-ului, sau până când utilizatorul distruge în mod intenţionat sesiunea curentă. Sesiunea durează cât dorim noi, dacă dăm parametrul opţional expires care determină când se încheie automat sesiunea. Lucrurile se desfăşoară cam în felul următor: în momentul când un user s-a logat la site, PHP atribuie acestuia un identificator unic de sesiune : SID. Acest SID este înglobat într-un cookie cu numele PHPSESSID şi trimis apoi către browserul utilizatorului. Dacă browserul nu suportă cookie-uri sau acestea sunt dezactivate, atunci acest SID este adăugat la adresa URL. În acelaşi timp se creează pe server un fişier cu numele SID. În continuare dacă utilizatorul doreşte să stocheze anumite informaţii, acestea vor fi practic scrise în acest fişier SID de pe server. Sesiunile au următoarele avantaje: • • •

Pot fi folosite chiar dacă browserul utilizatorului nu suportă cookie-uri sau daca acestea sunt dezactivate. Permit stocarea unui volum mare de informaţii, spre deosebire de cookie-uri care sunt limitate în această privinţă. Sunt mai sigure în raport cu cookie-urile deoarece informaţiile nu sunt transmise în mod repetat între client şi server.

Iniţializarea unei sesiuni se face cu funcţia : •

session_start()

Aceasta trebuie să fie printre primele linii de cod dintr-un script PHP, deoarece apelul acestei funcţii trebuie făcut înaintea trimiterii către browser-ul Web a vreunui cod HTML sau chiar a unui spaţiu vid. Dacă folosim stocarea ieşirii în buffer, instrucţiunea session_start() nu trebuie inserată neapărat la începutul codului. Instrucţiunea session_start() nu este necesară dacă în fişierul de configurare "php.ini", variabila "session.auto_start" are valoarea TRUE. Pentru a înţelege mai bine modul de lucru cu sesiuni şi funcţia session_start(), folosim un exemplu în care avem o pagină principală "a.php" unde creem o variabilă cu numele "userName", atribuindu-i valoarea "dvs", pe care o stocăm într-o sesiune PHP, pagina conţine o legatură către o altă pagină "b.php", aceasta din urmă va folosi funcţia session_start() pentru a prelua, prin sesiune, valoarea variabilei "user_name" din pagina "a.php", astfel putem folosi valoarea acestei variabile într-un script din pagina "b.php". Continutul fisierului "a.php" este următorul: <?php //Fisierul a.php session_start(); if(!isset($_SESSION['userName'])) $_SESSION['userName'] = "dvs"; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> Aceasta este pagina "a.php" <?php echo "<br />Variabila de sesiune are valoarea: ". $_SESSION['userName']; ?> <br />Legatura <a href="b.php">spre pagina b.php</a> </body> </html>


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.