Maison >développement back-end >tutoriel php >PHP SESSION détruire la session

PHP SESSION détruire la session

不言
不言original
2018-04-18 13:52:041539parcourir

Cet article présente le contenu de la session de destruction PHP SESSION, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

session_destroy


.

(PHP 4, PHP 5, PHP 7)

session_destroyDétruire toutes les données d'une session

Description

bool session_destroy ( void )

session_destroy() Détruira toutes les données de la session en cours, mais ne réinitialisera pas les variables globales associées à la session en cours, ni ne réinitialisera le cookie de session. Si vous devez réutiliser les variables de session, vous devez appeler à nouveau la fonction session_start().

Remarque : Normalement, il n'est pas nécessaire d'appeler la fonction session_destroy() dans votre code, vous peut directement effacer les données dans le tableau $_SESSION pour implémenter le nettoyage des données de session.

Afin de détruire complètement la session, l'ID de session doit être réinitialisé en même temps. Si l'ID de session est transmis via des cookies, vous devez également appeler la fonction setcookie() pour supprimer le cookie de session du client.

Lorsque l'élément de configuration session.use_strict_mode est activé, vous n'avez pas besoin de supprimer le cookie correspondant à l'ID de session expiré, car le module de session n'accepte plus les cookies portant des ID de session expirés, et il générera alors un nouveau cookie d'identification de session. Il est recommandé que tous les sites activent l'élément de configuration session.use_strict_mode.


Avertissement

La suppression prématurée des données de session peut entraîner des résultats imprévisibles. Par exemple, lorsqu'il existe des requêtes simultanées liées à partir de JavaScript ou d'une URL, une certaine requête supprime les données de la session, ce qui empêchera d'autres requêtes simultanées d'utiliser les données de session.

Bien que le module de traitement de session actuel n'accepte pas un ID de session vide, en raison de la façon dont le client (navigateur) le gère, la suppression immédiate des données de la session peut entraîner la génération d'un cookie de session vide, et amène ainsi le client à générer de nombreux cookies d'identification de session inutiles.

Pour éviter que cela ne se produise, vous devez définir un horodatage dans $_SESSION. L'accès à la session après cet horodatage sera refusé. Ou assurez-vous qu’il n’y a pas de demandes simultanées dans votre candidature. Cette règle s'applique également à session_regenerate_id(). session_regenerate_id() également.


Valeur de retour


Retours en cas de succèsTRUE, ou FALSE en cas d'échec.


Exemple


Exemple n°1 : destruction des données de session et


<?php
// 初始化会话。
// 如果要使用会话,别忘了现在就调用:
session_start();

// 重置会话中的所有变量
$_SESSION = array();

// 如果要清理的更彻底,那么同时删除会话 cookie
// 注意:这样不但销毁了会话中的数据,还同时销毁了会话本身
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), &#39;&#39;, time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// 最后,销毁会话
session_destroy();
?>

<span style="color:rgb(0,0,0);"><span style="color:rgb(0,0,187);"><code><span style="color:rgb(0,0,0);"><span style="color:rgb(0,0,187);"><br></span></span>




ini_get
(PHP 4, PHP 5, PHP 7)

ini_get — Récupère la valeur d'une option de configuration

Description

string ini_get ( string $varname )

Renvoie la valeur de l'option de configuration en cas de succès.

session_get_cookie_params
Obtenir les paramètres des cookies de session et renvoyer un tableau

Connexe recommandations :

Session PHP pour éviter les connexions répétées

Il existe trois façons de détruire une session PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn