Comment faire pour supprimer une session PHP?
C'est possible, je ne suis pas correctement la suppression de sessions PHP lorsque l'utilisateur se déconnecte. J'ai remarqué que si je déconnectez-vous et reconnectez-vous sans fermer le navigateur, l'ID de session ne change pas mais si je signe, fermez la fenêtre du navigateur, ouvrez-en un nouveau et signe dans, l'ID de session sera différent. Ai-je besoin de faire quelque chose de différent ou est-ce un comportement normal? J'ai été en utilisant le même processus pour trois ans, mais quelque chose s'est passé récemment qui m'a fait penser que peut-être j'ai besoin de faire quelque chose de différent.
Voici ce qu'en gros, je fais quand quelqu'un clique sur se déconnecter.
<?php
session_start();
if( isSet($_SESSION['FacID']) )
$facID = $_SESSION['FacID']; //Want to re-instate this after we destroy the session.
unset($_SESSION);
session_destroy();
if( isSet($_SESSION['FacID']) )
$_SESSION['FacID'] = $facID;
?>
Vous devez vous connecter pour publier un commentaire.
Si vous ressentez le besoin d'une nouvelle force id
http://pl.php.net/manual/en/function.session-regenerate-id.php
Pour répondre à votre question, à partir de la notice:
Votre session est détruites.
PHP ne fera que générer un id de session si le navigateur n'est pas indiquer un. Tant que la session a été destoryed, il n'y a pas de problèmes avec cela.
Quoi avec le massif de l'enregistrer et de les détruire? Juste
session_start
et définir vos variables. Pas besoin de détruire, puis les remettre!Votre "problème" avec le navigateur, c'est que lorsque vous fermez la fenêtre de votre navigateur, votre navigateur est de supprimer le cookie qui PHP envoie donc il connaît l'ID de session. C'est une option du navigateur et ne peut pas être changé sur le côté serveur (à moins que vous exploiter). Il peut être contournée en utilisant certaines méthodes, mais ce n'est probablement pas votre meilleure option.