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 :

Fonctionnement intrasèque des sessions


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut Fonctionnement intrasèque des sessions
    Salut,

    J'ai un problème depuis quelques temps lorsque 2 pages utilisant la même session sont appelé simultanément.

    Je m'explique :
    Page A qui n'écrit rien en session et plutot longue page
    Page B qui écrit des infos en session et plutot courte

    D'après les logs que je récupère si ca se passe comme ça :

    Page B appelé juste avant A, les infos ecrit en sessions par B sont gardé sur la page où on est renvoyé a la fin de B.

    Page A appelé juste avant B, les infos ecrit en sessions par B ne sont pas gardé sur la page où on est renvoyé a la fin de B.


    Est ce que c'est le fonctionnement normal des session (un problème de concurrence d'accès), ou alors je rêve?

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 207
    Points
    207
    Par défaut
    J'avais eu le même soucis sur un dev car j'avais oublié session_start() dans la page (la A chez toi).

  3. #3
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    A prioris les session_start() existe bien, mais ce n'est pas dans mon script que je les gère puisqu'il est inclus dans de plus gros fichiers que je n'ai pas codé.

    Alors a moins que dans le cas 2 la page A ferme la session avant que je n'arrive a enregistré les infos de la page B... mais normalement la page B a aussi les sessions ouvertes.

    Donc je sais pas trop d'où peut venir le problème.

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 207
    Points
    207
    Par défaut
    Ok, donc c'est autre chose, mais en relisant ton premier post, je t'avoue ne pas réussir à comprendre le comportement que tu décrit.

    Sur la page A ta session est vide.
    Sur la page B tu y stock des infos.
    Et quand tu reviens sur A ta session est de nouveau vide??

  5. #5
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    En gros pour le contexte je clique sur un lien, qui se trouve etre sur une zone cliquable JS.

    Or 9 fois sur 10 quand je clique sur le lien il y a bien une seul page d'appelé (la B en l'occurence). Mais une fois sur 10 l'event du JS est lancé donc la page A est appelé de tps en tps avant B.

    C'est dans ce dernier cas qu'on se retrouve. A est appelé et commence son traitement (plus long que B), et juste après B est appelé fait son traitement très rapide et enregistre des valeur en sessions puis fais un header faire la page de départ.

    Le problème c'est qu'une fois arrivé sur la page de départ, les variable de sessions normalement enregistré n'ont pas gardé la valeur qu'on leur a affecté dans B.

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 207
    Points
    207
    Par défaut
    Le problème ne viendrait pas du Header? Avec la page A tu n'aurais pas déjà envoyé un Header au navigateur?

  7. #7
    Membre averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    Par défaut
    Nan je ne pense pas que ca soit lié... Vu que ce sont deux appels en série (A n'appelle pas B). Donc je ne sais pas trop à quoi c'est du...

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/01/2009, 18h59
  2. Réponses: 1
    Dernier message: 24/11/2008, 12h07
  3. Fonctionnement des sessions
    Par malharabea dans le forum Langage
    Réponses: 2
    Dernier message: 06/07/2008, 19h55
  4. Question sur le fonctionnement des sessions
    Par kuja2053 dans le forum Langage
    Réponses: 3
    Dernier message: 26/06/2007, 18h15
  5. Réponses: 3
    Dernier message: 19/10/2006, 11h45

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