session_destroy
funkcja
Niszczy wszystkie dane powiązane z bieżącą sesją po stronie serwera. Wywoływana przy wylogowaniu, po wcześniejszym wyczyszczeniu tablicy $_SESSION.
session_destroy(): bool
session_destroy usuwa plik (lub rekord) sesji po stronie serwera — żadne żądanie z tym samym PHPSESSID nie odzyska danych. Nie czyści jednak tablicy $_SESSION w pamięci bieżącego skryptu ani ciasteczka w przeglądarce. Dlatego bezpieczne wylogowanie zawsze składa się z trzech kroków: wyczyszczenie tablicy, usunięcie ciasteczka, zniszczenie sesji. Zwraca true w przypadku sukcesu.
<?php
declare(strict_types=1);
session_start();
// Krok 1: wyczyść tablicę $_SESSION w pamięci
$_SESSION = [];
// Krok 2 (opcjonalnie): usuń ciasteczko PHPSESSID z przeglądarki
if (isset($_COOKIE[session_name()])) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 3600,
$params['path'], $params['domain'],
$params['secure'], $params['httponly']);
}
// Krok 3: zniszcz sesję po stronie serwera
session_destroy();
// wynik: dane sesji usunięte — przeglądarka straci dostęp po przekierowaniu