Tutoriale PHP
  Comunitatea PHP Romania
 

 
Tutoriale PHP
Articol
Index / Introducere in PHP / Articol
Sesiuni in PHP
de

Situatie: off off off off off
Vezi comentariiDiscuta acest articol (0 comentarii)
TiparesteTipareste
Adauga la favorite-Doar pentru membriiAdauga la favorite
Curs http://php.intercer.net

In mod normal, o variabila locala declarata intr-o pagina .php este valabila doar in acea pagina, daca nu intervenim intr-un fel pentru a o transfera si pe alte pagini unde avem nevoie de ea.

 

Modalitatile de pastrare a informatiilor pe tot parcursul aplicatiei sunt:

-          variabile globale

-          sesiuni

-          cookies

-          transferul variabilelor locale prin forme sau in header-ul unei alte pagini

 

Ce este o sesiune?

 

O sesiune reprezinta una din caile de a pastra datele de lucru ale unei aplicatii atunci cand se face transferul de la o pagina la alta.

 

PHP foloseste in mod nativ sesiuni, asa cum fac si limbajele ASP si ColdFusion. Lucrul cu sesiuni nu este complicat.

 

Fiecare sesiune trebuie declarata la inceputul paginii, cu ajutorul functiei:

start_session();

Aceasta functie face ca PHP sa inregistreze un identificator unic al sesiunii (ID), iar acel identificator este trimis utilizatorului printr-un cookie. Totodata, pe server se creaza un fisier care va retine valorile variabilelor folosite in aceasta sesiune. Fisierul are numele la fel cu identificatorul ID al sesiunii.

 

Apoi trebuie declarata variabila (sau variabilele) cu care lucram in cadrul acestei sesiuni. Pot fi create oricate variabile.

session_register('sesiunea_mea');

 

Variabila $sesiunea_mea poate fi o variabila simpla sau un tablou (array).

 

Exemplu:

$sesiunea_mea = “Lucian”;     // variabila simpla

sau

$sesiunea_mea[“id”] = 1; // cazul unui array

$sesiunea_mea[“nume_utilizator”] = “Lucian”;

$sesiunea_mea[“adresa”] = “Str.Florilor nr.14”; // etc.

 

Variabilele definite in acest mod pot fi folosite pe toate paginile unei aplicatii, definite pe un domeniu dat, atat timp cat cookie alocat acelei sesiuni este activ (nu expira). Folosirea sesiunilor este o cale mult mai usoara de lucru decat sa transferam variabilele de la pagina la pagina.

 

In php.ini pot fi setate diferite valori pentru parametri legati de sesiune cum ar fi (dupa semnul egal am pus valorile implicite) :

session.cookie_path = “/”;

session.cookie_domain = “”;

session.cookie_lifetime = “0”; // valoarea 0 inseamna ca cookie pentru sesiune e valabila pana cand browserul se va inchide.

 

session.name = “PHPSESSID”;

si altele .

 

Exista posibilitatea ca un utilizator sa nu accepte setarea de cookies pe computerul sau. In acest caz, pentru identificarea unei sesiuni se poate folosi identificatorul acesteia. Putem adauga acest identificator in stringul care apleaza o pagina:

 

<a href = “pagina_mea.php?<?=SID?”>Click catre pagina mea</a>

 

<?= este un mod mai scurt de a scrie comanda echo. <?= se poate folosi cu orice variabila, nu doar cu sesiuni.

 

Un identificator PHPSESSID arata ca o insirurire aleatoare de caractere alfanumerice:

PHPSESSID = 02993ab99sac988da9753330af72201

 

Daca PHP este compilat cu optiunea enable-trans-id, atunci identificatorul sesiunii este adaugat automat la fiecare pagina.

 

Iata un exemplu de definire al unei sesiuni:

 

<?

session_start();

session_register(“variabila_mea”);

$variabila_mea = “Aceasta este cursul online de PHP”;

?>

 

$variabila_mea va putea fi folosita apoi pe toate paginile aplicatiei respective.

 

Observatie importanta:

 

Variabilele definite in sesiuni pot fi folosite intr-o pagina doar dupa ce a fost executata comada session_start();

Aceasta comanda ii spune PHP-ului sa verifice daca exista o sesiune si atunci sa foloseasca variabilele acelei sesiuni ca variabile globale.

 

Functiile session_start(), ca si setcookie()  trebuie folosite intotdeauna chiar la inceputul fisierului. Daca se trimite altceva catre browser inainte de folosirea lor atunci vor exista erori la folosirea sesiunii sau a cookie-urilor.

 

Sus


Trimis de : cristiData intrarii : 20 August 2003Nivel : incepator


[ Profil autor ]
Curs http://php.intercer.net

[ Alte articole ale acestui autor ]
Tipuri de date, Variabile, Constante, Operatori, Definire functii
Structuri de control. Definire Clase

Gazduire

Tutoriale

Discuta in forum

Parteneri

Copyright © 2001-2008 PHP Romania Add PHPRomania to Google Add PHPRomania to Del.icio.us Add PHPRomania to Stumbleupon Add PHPRomania to Yahoo! Add PHPRomania to Digg Add PHPRomania to Blink Final Fantasy | Fast Loans | MPAA | Internet Advertising | Cheap Car Insurance
Ads: Partener Way2Web Nework: gazduire web | inregistrare domenii | web design | imobiliare | web hosting
Powered by Simplis