Ultimele tutoriale de dezvoltare web
 

PHP 5 Sesiuni


O sesiune este o modalitate de a stoca informații (in variables) pentru a fi utilizate pe mai multe pagini.

Spre deosebire de un cookie, informațiile nu sunt stocate pe computerul utilizatorilor.


Ce este o sesiune PHP?

Când lucrați cu o aplicație, o puteți deschide, face unele modificări, și apoi închideți-l. Acest lucru este mai mult ca o sesiune. Computerul știe cine ești. Se știe când porniți aplicația și când terminați. Dar, pe internet, există o problemă: serverul web nu știe cine ești sau ce faci, deoarece adresa HTTP nu menține starea.

Variabile de sesiune a rezolva această problemă prin stocarea informațiilor de utilizator pentru a fi utilizate pe mai multe pagini (eg username, favorite color, etc) de (eg username, favorite color, etc) , (eg username, favorite color, etc) de (eg username, favorite color, etc) de (eg username, favorite color, etc) . În mod implicit, variabilele de sesiune durează până când utilizatorul închide browser-ul.

Asa de; variabile de sesiune dețin informații despre un utilizator unic, și sunt disponibile pentru toate paginile într-o singură aplicație.

Indicație: Dacă aveți nevoie de o stocare permanentă, poate doriți pentru a stoca datele într - o bază de date .


Începeți o sesiune PHP

O sesiune este pornit cu session_start() funcția.

Variabilele de sesiune sunt stabilite cu PHP variabila la nivel mondial: $ _SESSION.

Acum, să creați o nouă pagină numită "demo_session1.php" . In aceasta pagina, vom începe o nouă sesiune de PHP și seta unele variabile de sesiune:

Exemplu

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

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

</body>
</html>
Run exemplu »

Note: session_start() funcția trebuie să fie primul lucru în document. Înainte de orice tag-uri HTML.


Get PHP sesiune valori variabile

În continuare, vom crea o altă pagină numită "demo_session2.php" . Din această pagină, vom accesa informațiile de sesiune am stabilit pe prima pagină ("demo_session1.php") .

Observați că sesiunea variabile nu sunt transmise în mod individual pentru fiecare pagină nouă, în schimb , acestea sunt preluate din sesiunea am deschis la începutul fiecărei pagini ( session_start() ).

De asemenea, observați că toate valorile variabile de sesiune sunt stocate în variabila globală $ _SESSION:

Exemplu

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>
Run exemplu »

Un alt mod de a arăta toate valorile variabile de sesiune pentru o sesiune de utilizator este de a rula următorul cod:

Exemplu

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>
Run exemplu »

Cum functioneazã? Cum știu eu?

Cele mai multe sesiuni de stabilit un utilizator-cheie de pe calculatorul utilizatorului care arată ceva de genul: 765487cf34ert8dede5a562e4f3a7e12. Apoi, când o sesiune este deschis pe o altă pagină, acesta scanează computerul pentru un utilizator-cheie. Dacă există o potrivire, accesează acea sesiune, dacă nu, începe o nouă sesiune.


Modificarea unei variabile PHP sesiune

Pentru a modifica o variabilă sesiune, trebuie doar să-l suprascrie:

Exemplu

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>
Run exemplu »

Distruge o sesiune PHP

Pentru a elimina toate variabilele de sesiune globale și de a distruge sesiunea, utilizarea session_unset() și session_destroy() :

Exemplu

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>
Run exemplu »