Les SESSIONS

Résolu
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   -  
Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis à la recherche pour savoir comment on peux supprimer une SESSION lorsqu'on se déconnecte avec un lien "déconnexion".
Ma SESSION par défault expire lorsque je ferme le navigateur mais cela ne me convient pas.
Par contre j'ai créé des COOKIES et ça les détruits bien mais pas pour les SESSIONS.
Pouvez-vous m'aider s'ils vous plait.
Un grand merci pour votre aide.

14 réponses

Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   207
 
Pour détruire le cookie de session :

setcookie(session_name(), '', time(), '/');

Définit un cookie du nom de ta session qui doit être détruit immédiatement. Ce qui supprime ton cookie de session...
1
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
En effet, une variable de session et un cookie c'est pas la même chose.
Variable de session: $_SESSION['var'];
Cookie: $_COOKIE['var'];

Voir cette page: http://www.lephpfacile.com/cours/17-les-cookies
1
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

Merci de ta réponse c'est sympa.
Malheureusement je n'arrive pas à supprimer ma SESSION lorsque je fait déconnexion.
Elle se supprime uniquement lorsque je ferme mon navigateur.
Je n'y comprends plus rien.
Si tu as encore des infos.
J'ai fait pas mal de truc mais rien n'y fait.
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   207
 
Salut,

voici mon code qui détruit une session :

Voici le lien qui m'amène à un script qui déconnecte l'utilisateur :
<a href="deconnexion.php">Deconnexion</a>


le fichier deconnexion.php :

session_start();
// destruction session
$_SESSION = array();
session_destroy();

// redirection
header('location:../index.php');
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

J'ai bien mis ton code et le lien comme toi mais lorsque je clique sur le lien
la SESSION est toujours présente il faut que je ferme le navigateur pour la détruire et ça je ne veux pas.
Merci pour votre aide
0
Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   207
 
Fait un print_r($_SESSION) et un echo session_id() avant et après la tentative de déconnexion avec mon code.
0
Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   207
 
Comment sais tu que quelqu'un est connecté ? En d'autres où stockes tu l'identité de celui qui est connecté ?
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

En fait je suis en développement et je regarde dans mon navigateur.

en fait j'ai 1 page avec mon formulaire pour connexion
1 page pour toute la vérif et les teste des variable
et 1 page de déconnexion

et je voudrais vraiment que lorsqu'on se déconnecte ça me supprime le COOKIE"PHPSESSID"

Merci de tout coeur
0
Profil bloqué
 
session destroy ferme la session, il ne détruit en aucun cas le cookie !!!
0
Profil bloqué
 
La je crois que c'est résolu mdr

0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Non pas encore je cherche, je cherche...

Merci
0
Profil bloqué
 
Mais tu cherches quoi ?? ^^'
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Oui c'est vrai tu cherches?
Si malgré tout ce qu'on t'as donné ce n'est pas encore clair, demande nous plus de précision et on essayera de t'aider d'avantage.
0
Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   207
 
Le setcookie marche très bien pour la suppression du cookie de session j'ai essayé sur mon projet en cours, no soucis...
0
Profil bloqué
 
Il cherche il cherche.. mdr troubadour, t'es super !
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Faut pas rigoler. On passe tous par là à un moment...
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
c'est sympa de partager mon soucis.

je dois passer à côté de quelque chose mais quoi?
c'est un mystère.

A+
0
Profil bloqué
 
Mdr...

Tu ne voudrais pas partager un peu ton questionnement ^^ ?
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Et/ou nous mettre tout ou partie de ton code afin qu'on puisse éventuellement trouver, si besoin est, ce qui te fait bloquer.
En tout cas, il nous faut d'avantage de précision si tu veux qu'on t'aider à avancer.
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

Voilà je recommence cette semaine avec toujours mon problème de SESSION.
En fait PHP génére une SESSION à l'ouverture de mon site qui est PHPSESSID.

Je voudrais la supprimer lorsque les utilisateurs se déconnectent via un lien "déconnexion".

Pour me déconnecter et supprimer mon COOKIE que j'ai créé cela fonctionne mais pas PHPSESSID.
<?php if ($_COOKIE['COOKIE_ESC']){setcookie('COOKIE_ESC', '', time() - 1, null, null, false, false);}?>   

Merci beaucoup de votre aide
0
Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   207
 
Personnellement, il me donne un sessid différent quand je détruis le cookie et que je refasse un session_start par la suite...
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

Merci tu peux me donner ton code pour voir comment tu a réussis à détruire PHPSESSID.

Chez moi ça ne veux pas le faire.

Merci beaucoup
0
Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   207
 
session_start();

$_SESSION = array();
session_destroy();
setcookie(session_name(), '', time(), '/');
header('location:../index.php');

Un session_id() avant et un après un nouveau session_start() me donne un id différent...
0
troubadour2 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour

Nickel ça fonctionne et grand merci 10 jours que je suis dessus.
OUF..............
Merci
0
Meoran Messages postés 1562 Date d'inscription   Statut Membre Dernière intervention   207
 
De rien ;)
0