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 :

Problème étrange d'enregistrement


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Problème étrange d'enregistrement
    Bonjour à tous,

    Je suis actuellement en phase de développement d'un site en PHP et je rencontre un problème étrange au niveau de l'enregistrement d'une variable de session.
    Pour mon premier message sur le forum, j'aimerais vous demander un peu d'aide car je n'arrive pas à comprendre ce qu'il se passe.

    Je vais résumer le plus possible pour éviter de vous embêter avec la structure du site, mais je répondrais en détail à toutes vos questions si vous en avez ; juste qu'il s'agit d'un site de vidéos.

    Voici une partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    session_start();
    ob_start();
    $_SESSION['PAGE'] = 'http://localhost/'.$_SERVER['REQUEST_URI'];
    echo $_SESSION['PAGE'];
     
    ... mon script ...
     
    ob_end_flush();
    echo $_SESSION['PAGE'];
    ?>
    Dans un certain cas, que j'explique ci-dessous, la chaine enregistrée dans le fichier de session ne correspond pas aux deux chaines affichées à l'écran.

    Explication:
    Lorsque je suis sur la page http://localhost/Categ1/Videos-Categ1-Page2 et que il y a plusieurs pages possible
    Je vois bien cette même url (2 fois) sur la page affichée, idem dans le fichier de session.

    Lorsque je suis sur la page http://localhost/Categ2/Videos-Categ2 et qu'il n'y a qu'une seule page possible
    Tout est correct également.

    Mais lorsque je suis sur la page http://localhost/Categ1/Videos-Categ1 et que il y a plusieurs pages possible
    Je vois bien cette même url (2 fois) sur la page affichée, mais il est enregistré http://localhost/ dans le fichier de session.

    Encore plus troublant, lorsque je laisse les "echo", tout marche sur ie mais pas sous firefox ou chrome. Dès que je les enlève ça ne marche plus.
    Imaginons que je mette $_SESSION['PAGE'] = 'http://localhost/Categ1/Videos-Categ1' plutôt que $_SESSION['PAGE'] = 'http://localhost/'.$_SERVER['REQUEST_URI']
    Et bien tout marche également.

    Le dernier "echo" m'affiche la bonne url à chaque fois et c'est la dernière instruction, je ne vois donc pas comment la chaine pourrait être différente dans le fichier de session.

    Voilà, j'espère avoir été clair et que vous pourrez peut-être m'aider.
    Je vous souhaite une bonne soirée et reste disponible pour répondre à vos questions ou tester quoi que ce soit.

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut

    il y a donc une réécriture d'url?
    pourquoi un output buffer?
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Bonsoir,

    Après plusieurs heures de recherche et grace aux conseils d'un collègue.
    J'ai remarqué en vidant mon cache html que lorsque j'actualisais la page posant problème, il y avait en fait 2 pages générées en cache (la bonne page et la page localhost).
    J'ai remarqué la même chose en loguant toutes les pages affichées.
    J'ai ensuite isolé le code et constaté que le problème survenait à l'affichage de la page.
    Et c'est en regardant le template, qui affiche la liste des vidéos, que tout est devenu clair.
    La liste est en fait composée de 2 parties et je n'avais pas encore terminé ce template, je n'affichais pas vraiment les miniatures mais <img src=""/> pour la première partie de la liste et <img src="#"/> pour la seconde partie.
    Sachant que la seconde partie ne s'affiche que lorsqu'il y a beaucoup de vidéos dans la catégorie, mon cas tordu venait donc de là.
    La balise <img src="#"/> rechargeait la page localhost, ce qui modifiait la session.

    Le problème est donc résolu, et j'avoue que si j'avais terminé ce template, tout ceci ne serait pas arrivé.
    Encore merci pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Bug IE ?] Problème étrange, pas de titre explicite, désolée
    Par Huntress dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 04/10/2005, 16h44
  2. [PEAR][HTML_QuickForm] Problème étrange
    Par jeanvincent dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 28/09/2005, 17h27
  3. [VB.NET] Problème étrange lors de la création de BDD
    Par Playmo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 28/03/2005, 22h25
  4. [JMF] Problème étrange probablement dépendant de l'OS
    Par Farias dans le forum Multimédia
    Réponses: 4
    Dernier message: 31/10/2004, 17h35
  5. [FLASH MX2004 PRO] Problème étrange avec LoadClip...
    Par josemoroide dans le forum Flash
    Réponses: 6
    Dernier message: 04/08/2004, 15h41

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