Czym jest $_SESSION w PHP?
$_SESSION to superglobalna tablica PHP, która przechowuje dane przypisane do aktualnej sesji użytkownika. Sesja pozwala zapamiętać informacje o użytkowniku między kolejnymi żądaniami HTTP, np. po zalogowaniu.
Najważniejsze: $_SESSION nie przechowuje listy wszystkich sesji na serwerze, tylko dane dotyczące bieżącej sesji danego użytkownika.
Do czego służy sesja?
Sesje wykorzystuje się m.in. do przechowywania:
- identyfikatora zalogowanego użytkownika,
- roli użytkownika, np.
admin,user, - zawartości koszyka w sklepie internetowym,
- komunikatów tymczasowych, np. „Zapisano dane”.
Jak używać $_SESSION?
Przed użyciem sesji należy wywołać funkcję session_start() — zwykle na początku pliku PHP, przed wysłaniem treści HTML.
<?php
session_start();
$_SESSION['login'] = 'jan';
$_SESSION['rola'] = 'admin';
echo $_SESSION['login'];
?>
W powyższym przykładzie do aktualnej sesji zapisano dwie zmienne: login i rola.
Różnica między $_SESSION, $_POST i $_COOKIE
$_SESSION— dane zapisane w aktualnej sesji użytkownika,$_POST— dane przesłane formularzem metodą POST,$_GET— dane przesłane w adresie URL,$_COOKIE— dane odczytane z ciasteczek przeglądarki.
Ważne na egzaminie
Jeżeli pytanie brzmi: „W języku PHP zmienna $_SESSION przechowuje…”, poprawna odpowiedź to: zmienne zarejestrowane w aktualnej sesji.