Problème mise à jour d'un XML

Résolu
Signaler
Messages postés
29
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
25 juillet 2007
-
Messages postés
29
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
25 juillet 2007
-
Bonjour à tous!
J'ai un petit soucis avec mon XML de la sorte que lorsque je lui ajoute des données, elles ne sont prises en compte qu'une fois le navigateur redémarré. Alors en effet je ne pense pas que cela vienne de mon XML, puisque les données sont correctement ajoutées.

Voici comment ça se passe. J'ai ma page principale qui affiche, grâce à un javascript, des messages (il y a par exemple 3 messages). Je clique sur le lien pour ajouter un message, je remplis le formulaire. Je valide. L'ajout des données dans le XML, s'effectuant en php, est correct. La page php redirige sur ma page principale. Et là j'ai à nouveau 3 message qui s'affichent (les même qu'au départ).
Le soucis ne vient pas non plus de mon javascript, car il doit afficher tous les messages de mon XML.
Et si, depuis ma page php, je lui dis d'afficher tous mes messages après l'ajout, il n'y a aucun problème non plus.

Comme je ne sais pas ce qui pourrait provoquer ce soucis, je poste sur ce forum-ci...
Merci d'avance pour votre aide.

11 réponses

Messages postés
29
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
25 juillet 2007

Je reviens juste sur ce topic parce que j'ai trouvé ce qui n'allait pas. C'est simplement une option de IE7 qui bloquait tout ça. Il faut aller dans:
Outils -> options Internet -> Paramètres (de l'historique de navigation) -> cocher : vérifier s'il n'existe pas une version plus récente des pages enregistrées à chaque visite de cette page Web

Voilà, ++
Messages postés
209
Date d'inscription
dimanche 8 juin 2003
Statut
Membre
Dernière intervention
9 février 2012
3
Je pencherai pour un probleme de cache du navigateur mais sans code cela va être dur.


Mais ton bout de code javascript si tu veut que l'on puisse t'aider.

Citt_jr
Bats toi avec les meilleurs, crève avec le reste

http://www.tsubara.net
Messages postés
29
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
25 juillet 2007

Merci pour ta réponse.
Tu pourras trouver les morceaux de code à cet URL:
http://tidus333.free.fr/code/

Et sinon, en effet le cache du navigateur pourrait être en faute. Pour info je développe sous IE7.
Merci
Messages postés
365
Date d'inscription
samedi 26 juin 2004
Statut
Membre
Dernière intervention
17 avril 2008

Bonjour,

A chaque fois que tu changes ton xml, vide manuellement le cache de IE (dans option d'internet je crois) ou alors sous firefox tu peux specifier que tu veux recharger toute la page à chaque fois.

_Marikou
Messages postés
209
Date d'inscription
dimanche 8 juin 2003
Statut
Membre
Dernière intervention
9 février 2012
3
Essaye de faire ca et dis nous :

initialise ta var xhr a false :
var xhr = false;

et quand tu fait ton open met enleve ton false, car par def c'est true et je ne voi pas pourquoi tu a mis justement false mais bon

essaye déjà ca ;)

Citt_jr
Bats toi avec les meilleurs, crève avec le reste

http://www.tsubara.net
Messages postés
29
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
25 juillet 2007

Merci pour vos réponses.
J'ai fait les changements que tu m'as donnés citt, mais ça ne change rien.
Par contre j'ai changé légèrement le code pour qu'il tourne sous firefox2.0, et lui ne pose aucun problème.
Aussi, après plus mûre observation, je pense que le soucis soit vient de la gestion du cache sous IE7, soit de mon script ajax. En effet, c'est le script ajax qui ouvre le XML quand la page principale se charge. Mais cela revient, je pense, au soucis du cache...
Messages postés
209
Date d'inscription
dimanche 8 juin 2003
Statut
Membre
Dernière intervention
9 février 2012
3
Essaye avec ca pour IE7 pour qu'il ne cache pas ta page

<head>
  <meta http-equiv="Expires" CONTENT="0">
  <meta http-equiv="Cache-Control" CONTENT="no-cache">
  <meta http-equiv="Pragma" CONTENT="no-cache">
</head>

Bats toi avec les meilleurs, crève avec le reste

http://www.tsubara.net
Messages postés
29
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
25 juillet 2007

Encore une fois, ça n'a eu aucun effet, malheureusement.
Peut-être que c'est dû au script AJAX alors...

En fait je viens de pense un truc. Quand je remplis mon formulaire et que je la valide, j'appelle un fichier php qui s'occupe d'ajouter mes nouveaux éléments à mon XML. Et pour revenir à ma page principale, j'utilise une redirection comme suit :

<?php
    header("Status: 301 Moved Permanently", false, 301);
    header("Location: http://localhost/sodedat/index.html");
   
    //j'ouvre mon document XML
    //ici tout mon script php
    //je sauvegarde mon document XML

    exit();
?>

La question est : IE n'interprête-t-il pas le fait qu'il doive charger la page cible de la redirection sans prendre en compte les éventuels "changements" effectués entre le "header" et le "exit"? Ou bien peut-être précharge-t-il la page cible de la redirection avant d'arriver au exit?

Peut-être que ces questions peuvent paraître n'importe quoi, mais ne voyant pas ce qui cloche, je m'ouvre à toutes les possibilités possible...lol
Messages postés
209
Date d'inscription
dimanche 8 juin 2003
Statut
Membre
Dernière intervention
9 février 2012
3
Je pense que t on probleme avec IE viens du faite que ton javascript s'execute sur le client et non sur le serveur et IE a du faire un cache de ton fichier xml.

Teste en supprimer ton cache de IE et lance ton script et va voir des tempory internet file si ton fichier XML s'y trouve c'est que IE en fait un cache et ne le retelecharge pas apres modif.

sinon pourquoi n'utilise pas une fonction php de lecture de ton fichier XML tu arais moins de probleme vu que tu change de page lors de ton enregistrement ca devrait fonctionner.

sinon en ajax tu creer une page a part en php qui renvoie a ajax le contenu du fichier xml.

j'espere que ca va t'aider

Citt_jr
Bats toi avec les meilleurs, crève avec le reste

http://www.tsubara.net
Messages postés
365
Date d'inscription
samedi 26 juin 2004
Statut
Membre
Dernière intervention
17 avril 2008

Oui, tres bonne remarque de citt
pourquoi n'utilises tu pas le parsing xml implementé dans PHP ?

http://www.php.net/manual/fr/ref.xml.php

_Marikou
Messages postés
29
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
25 juillet 2007

Oui je vais le faire en php. Je continuais à chercher juste par principe. La solution en AJAX (que j'avais adoptée en premier) devait fonctionner. Mais bon je ne vais pas m'attarder dessus plus longtemps finalement, ya d'autres choses plus importantes à faire.

Merci pour votre en tous cas ;)