W PHP $_SESSION jest superglobalną tablicą asocjacyjną, w której przechowuje się zmienne zarejestrowane w bieżącej sesji użytkownika. Oznacza to, że aplikacja może zapamiętywać określone informacje pomiędzy kolejnymi żądaniami HTTP (które same w sobie są bezstanowe), np. identyfikator zalogowanego użytkownika, jego rolę czy zawartość koszyka.
Odpowiedź "spis zarejestrowanych sesji na serwerze WWW" jest błędna, ponieważ $_SESSION nie służy do administracyjnego przeglądu wszystkich sesji. To struktura danych dostępna w skrypcie, odnosząca się do konkretnego klienta (konkretnej sesji), a nie do globalnego katalogu sesji.
Odpowiedź "zmienne przesyłane do skryptu za pomocą formularza" myli mechanizmy. Dane z formularzy trafiają typowo do $_POST (lub $_GET, zależnie od metody), a nie do $_SESSION. Sesja może co prawda przechować dane pochodzące z formularza, ale dopiero jeśli programista jawnie je tam zapisze.
Odpowiedź "zmienne przesyłane do skryptu za pomocą ciastek (cookie)" również jest błędna: cookies są dostępne w $_COOKIE. Ciasteczko często przechowuje jedynie identyfikator sesji, natomiast właściwe dane sesyjne są mapowane do $_SESSION po stronie aplikacji. To rozróżnienie jest ważne na egzaminie: POST/GET to wejście z żądania, COOKIE to dane z przeglądarki, a SESSION to dane sesyjne utrzymywane między żądaniami.
- Wskazówka egzaminacyjna: gdy pytanie dotyczy "bieżącej sesji" i "zmiennych sesyjnych", najczęściej chodzi o $_SESSION.
- W praktyce: aby korzystać z sesji, zwykle inicjuje się ją na początku skryptu (np. przed użyciem danych sesyjnych).