$_SESSION w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.