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 »