PHP Détruire une session entière


Exemple

Si vous avez une session que vous souhaitez détruire, vous pouvez le faire avec session_destroy()

/*
    Let us assume that our session looks like this:
    Array([firstname] => Jon, [id] => 123)

    We first need to start our session:
*/
session_start();

/*
    We can now remove all the values from the `SESSION` superglobal:
    If you omitted this step all of the global variables stored in the 
    superglobal would still exist even though the session had been destroyed.
*/
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

//Finally we can destroy the session:
session_destroy();

Utiliser session_destroy() est différent d'utiliser quelque chose comme $_SESSION = array(); qui enlèvera toutes les valeurs stockées dans la superglobal de SESSION mais ne détruira pas la version stockée réelle de la session.


Note : Nous utilisons $_SESSION = array(); au lieu de session_unset() car le manuel stipule:

Utilisez uniquement session_unset () pour les anciens codes obsolètes qui n'utilisent pas $ _SESSION.