Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/05/2006, 09h46   #1
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 109
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 109
Points : 31
Points : 31
Par défaut [Cookies] tuer une session en cour

Bonjour à tous,

Voilà je souhaiterais savoir comment faire pour savoir si une session est déjà en court ou pas ?
Car en faite lorsque je me logge sur mon formulaire, j'arrive sur ma page jaune (c'est juste pour situer que je dis qu'elle est jaune ), mais ensuite lorsque je retourne sur ce formulaire pour changer d'utilisateur et que je me relogge il me renvoie bien sur ma page jaune, mais avec la session d'avant, et pas celle dont je viens de me logger.
Il me faudrias donc, je pense, tuer la session en cour avant d'en recréer une nouvelle.
Mais comment savoir si une session est déjà en cour ? Car quand je veux tuer une session qui n'est pas en cour (lors du premier passage sur la page de log), j'ai une erreur : normal.
Enfin pour tuer ma session ceci marche-t-il ?
Citation:
// On écrase le tableau de session
$_SESSION = array();
// On détruit la session
session_destroy();
Merci d'avance pour votre aide
cherrymoon08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 09h51   #2
Membre expérimenté
 
Avatar de tigunn
 
Homme
Développeur de bug
Inscription : janvier 2003
Messages : 522
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur de bug

Informations forums :
Inscription : janvier 2003
Messages : 522
Points : 538
Points : 538
Salut cherrymoon08 !

pour tester si tu as une session en cours et la détruire alors; tu peux faire ainsi:
Code :
1
2
3
4
5
6
7
8
9
 
        //On tue la session : donnée+cookie
        session_start();     //fonction qui teste et detruit la session ssi          elle existe sinon en crée une nouvelle.
        $_SESSION = array();
        if (isset($_COOKIE[session_name()]))
        {
            setcookie(session_name(), '', time()-42000, '/');
        }
        session_destroy();
Bon dev'
tigunn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 09h52   #3
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

Si tu souhaites simplement remettre la session à 0, il te suffit de faire avant d'allouer les variables nécessaires à la nouvelle session...

pas besoin de tuer la session ou quoi...

de plus, pour savoir si une session est en cours, il te suffit d'avoir fait un session_start(), si ton script a rencontré un session_start(), une session est en cours
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 09h52   #4
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
pour savoir si une session est en cours il suffit de tester l'existence d'une variable associé a cette session là. si la variable existe alors tu met fin a la session...........pas terrible non
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 09h54   #5
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
@tigunn : problème : si les cookies sont désactivés, ça marche pas
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 10h24   #6
Membre régulier
 
Inscription : mai 2006
Messages : 238
Détails du profil
Informations personnelles :
Localisation : Tunisie

Informations forums :
Inscription : mai 2006
Messages : 238
Points : 70
Points : 70
Bonjour,

peut etre je dit n'importe koi mais je pense ke si tu vide ta variable session
(unset($_SESSION['nom_variable']) avant de créer la nouvelle varaible sa peut marcher
Chikh001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 10h57   #7
Nouveau Membre du Club
 
Inscription : mars 2005
Messages : 109
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 109
Points : 31
Points : 31
Citation:
Envoyé par Swoög
Salut !

Si tu souhaites simplement remettre la session à 0, il te suffit de faire
Testé et approuvé .
Merci beaucoup pour votre aide, réponse rapide et efficace, super sympa, merci
cherrymoon08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h21.


 
 
 
 
Partenaires

Hébergement Web