IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Vérification de sessions


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 69
    Points : 47
    Points
    47
    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 ?)

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    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 ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 69
    Points : 47
    Points
    47
    Par défaut
    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

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    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.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 69
    Points : 47
    Points
    47
    Par défaut
    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 ?

  6. #6
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    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.

Discussions similaires

  1. Réponses: 12
    Dernier message: 10/10/2014, 01h26
  2. Réponses: 4
    Dernier message: 04/12/2008, 14h01
  3. Réponses: 2
    Dernier message: 25/06/2008, 11h31
  4. Vérification existence session dans masterpage
    Par Yannick Biet dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/11/2007, 16h44
  5. [XMLRAD] session
    Par jml dans le forum XMLRAD
    Réponses: 4
    Dernier message: 17/12/2002, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo