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 08/07/2006, 22h51   #1
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 69
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 69
Points : 19
Points : 19
Par défaut Vérification de sessions

Bonsoir,

existe-t-il une fonction en php qui permet de détruire la session courante toute en vérifiant qu'une session est déjà ouverte (c'est à dire qu'il détruit la session si elle existe sinon il ne fait rien) ?

(même question pour session_start(), est-il possible de lancer une fonction similaire mais qui vérifie auparavant qu'une session n'est pas déjà lancée ?)
DevloNewb' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2006, 23h19   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par DevloNewb'
Bonsoir,
existe-t-il une fonction en php qui permet de détruire la session courante toute en vérifiant qu'une session est déjà ouverte (c'est à dire qu'il détruit la session si elle existe sinon il ne fait rien) ?
session_destroy détruit une session. Mais si tu cherches à détruire une session dans un script, c'est que tu as forcément fait un session_start() dans celui-ci, sinon ça n'a pas de sens.

Citation:
Envoyé par DevloNewb'
(même question pour session_start(), est-il possible de lancer une fonction similaire mais qui vérifie auparavant qu'une session n'est pas déjà lancée ?)
Tu peux, à chaque session_start, positionner une variable de session qui t'indique que l'événement que tu attends s'est déjà produit dans cette session. De quoi as-tu besoin exactement ici ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2006, 23h25   #3
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 69
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 69
Points : 19
Points : 19
j'ai juste besoin de savoir si une session est démarré ou pas...

puisque lorsque l'on fait un session_destroy() sans session lancé ça provoque une erreur

en fait je fais des include de fichiers ce qui fait qu'un session_destroy() n'est pas forcément précédé d'un session_start(), d'où ma question
DevloNewb' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2006, 23h55   #4
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par DevloNewb'
j'ai juste besoin de savoir si une session est démarré ou pas...

puisque lorsque l'on fait un session_destroy() sans session lancé ça provoque une erreur

en fait je fais des include de fichiers ce qui fait qu'un session_destroy() n'est pas forcément précédé d'un session_start(), d'où ma question
Question : Pourquoi tu ne mets pas un session_start à chaque page, systématiquement ? (si tu as une raison pertinente ça m'intéresse)

Sinon : dans l'include où il y a le session_start, tu le fais systématiquement suivre du positionnement d'une variable de session (qui ne servira qu'à ça).
Ensuite, quand tu dois tester si une session est initialisée, tu fais un isset sur cette variable.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2006, 01h24   #5
Futur Membre du Club
 
Inscription : décembre 2005
Messages : 69
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 69
Points : 19
Points : 19
ok merci pour l'astuce

en fait je suis pas sûr d'avoir compris un truc, ça sert à quoi de faire un session_start() à chaque page ? pour moi tant qu'on ne fait pas de session_destroy() la session est toujours valide non ?
DevloNewb' est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2006, 08h34   #6
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par DevloNewb'
en fait je suis pas sûr d'avoir compris un truc, ça sert à quoi de faire un session_start() à chaque page ? pour moi tant qu'on ne fait pas de session_destroy() la session est toujours valide non ?
Oui oui, la session est toujours valide.
Mais faire un session_start a pour avantage principal d'activer les fonctions de sessions, après à toi de voir si tu mets quelque chose ou pas dans la session, et/ou si la session a un sens au niveau applicatif. Par exemple, dans les systèmes de connexion par login/mdp, je commence bien souvent la session avant que l'utilisateur se connecte à l'application.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h26.


 
 
 
 
Partenaires

Hébergement Web