web-dev-qa-db-fra.com

Comment annuler une session php spécifique à la déconnexion

J'ai 2 sites.

Dans un site, c'est vrai: 

session_is_registered('site1sess')

et dans l'autre c'est vrai:

session_is_registered('site2sess')

Ce sont les noms de session que je donne aux utilisateurs lors de la connexion. Mon problème est que lorsque je me déconnecte d'un site, je me déconnecte également de l'autre parce que j'utilise:

session_destroy(); 

Quel est le meilleur moyen de vous déconnecter de site1 ou 2 en supprimant toutes les variables de session??. Merci.

12
Joan Silverstone

Utilisez unset() pour toutes les variables de session spécifiques au site 1 ou 2.

unset($_SESSION['site1']);
//or
unset($_SESSION['site2']);

Juste pour que vous sachiez, session_is_registered est obsolète à partir de PHP version 5.3.0. Voir docs .

50
Abs

Avant unset($_SESSION['site1']); mettez session_start() comme ceci

<?php
    session_start();
    unset($_SESSION['site1']);
?>
2
user92635438

Vous pouvez annuler la session si vous ne voulez pas vous déconnecter de l'utilisateur connecté.

if(isset($_GET['logout'])) {
   session_unset($_SESSION['user']);
}
0
Ashish v

Lorsque vous vous déconnectez de 1

unset($_SESSION['site1sess']);

Ou quand vous vous déconnectez de l'autre

unset($_SESSION['site2sess']);
0
FinalForm