Rechercher une fonction PHP

session_destroy

(PHP 4, PHP 5, PHP 7)

session_destroyDétruit une session

Description

session_destroy ( void ) : bool

session_destroy() détruit toutes les données associées à la session courante. Cette fonction ne détruit pas les variables globales associées à la session, de même, elle ne détruit pas le cookie de session. Pour accéder à nouveau aux variables de session, la fonction session_start() doit être appelée de nouveau.

Note: Vous n'avez pas besoin d'appeler session_destroy() depuis le programme généralement. Nettoyer le tableau $_SESSION plutôt que de détruire les données de session.

Pour détruire complètement une session, l'identifiant de la session doit également être effacé. Si un cookie est utilisé pour propager l'identifiant de session (comportement par défaut), alors le cookie de session doit être effacé. La fonction setcookie() peut être utilisée pour cela.

Quand session.use_strict_mode est activé. Vous n'avez pas besoin d'effacer le cookies d'ID de session obsolète car le module de session n'accepte pas les cookies d'ID de sessions quand il n'y a pas données associer avec ces ID de sessions et définira un nouvel cookie d'ID de session. Activer session.use_strict_mode est recommandé pour tous les sites.

Avertissement

La suppression immédiate d'une session peut causer des résultats innatandus. Quand il y a des requêtes simultanées, les autres connexions peuvent soudainement perdre des données de session. Par exemple des requêtes depuis JavaScript et/ou des requêtes depuis des liens URL.

Bien que le module de session actuel n'accepte pas un cookie d'ID de session vide, mais la suppression immédiate de session peut provoquer un cookie d'ID de session vide à cause d'une condition de concurrence côté client (navigateur). Ceci provoquera la création de beaucoup d'ID de session inutile par le client.

Pour éviter ceci, vous devez définir un horodatage à $_SESSION et refuser l'accès à toutes les dates ultérieures. Ou assurer vous que votre applicatio n'a pas de requêtes simultanées. Ceci s'applique aussi à session_regenerate_id().

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Destruction d'une session avec $_SESSION

<?php
// Initialisation de la session.
// Si vous utilisez un autre nom
// session_name("autrenom")
session_start();

// Détruit toutes les variables de session
$_SESSION = array();

// Si vous voulez détruire complètement la session, effacez également
// le cookie de session.
// Note : cela détruira la session et pas seulement les données de session !
if (ini_get("session.use_cookies")) {
    
$params session_get_cookie_params();
    
setcookie(session_name(), ''time() - 42000,
        
$params["path"], $params["domain"],
        
$params["secure"], $params["httponly"]
    );
}

// Finalement, on détruit la session.
session_destroy();
?>

Retour à la première page de Manuel PHP  Table des matières Haut

Notes

Note:

Utilisez uniquement la fonction session_unset() pour l'ancien code obsolète qui n'utilise pas les variables $_SESSION.

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.session-destroy.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut