Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
958 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pb de rafraichissement sous IE avec mes formulaires

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb de rafraichissement sous IE avec mes formulaires

n°1175900
weed
Posté le 14-08-2005 à 03:23:17  profilanswer
 

voila, j'affiches mon formulaire qui est en fait le contenu du table MySQL.
 
1./ Je modifie 1 champs, un <intput type='text">,  
2./ puis je clique sur Mise A jour.  
3./ Cela me fait un submit vers une autre page php qui me fais un update de la base de donnée  
4./ puis apres à l'aide je reviens sur ma page automatiquement avec un document.href, pour lister à nouveau la base de donnée.
 
 
Cela fonctionne parfaitement sous Firefox. Je fais une modification d'un champs, j'appuis sur le bouton MAJ et hop ca affiche la nouvelle valleur.  
Sous IE, il faut que je fasse F5 pour voire apparaitre le nouveau resultat.  
 
J'ai fais des recherches et j'ai essayé d'utilisé :      
 

<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />  
<meta http-equiv="Expires" content="0" />


 
pour demander au navigateur de ne pas utiliser son cache. Cela fonctionne mais une fois sur 2.
Je fais un premier changement, ca fonctionne pas... Je fais F5, le resultat apparait. Je remodifie mon champs puis j'appuis sur MAJ et la ca fonctionne. En fait il faut que je fasse avant F5 pour que cela fonctionne la fois suivante.
 
j'ai essayé bricolé en utilisant $_SERVER["HTTP_REFERER"], pour faire un reload en javascript sur la page principal uniquement si la page precedente était update.php, mais la valeur ne s'incrit pas (y a pas de valeur) à cause de ma redirection document.href.

mood
Publicité
Posté le 14-08-2005 à 03:23:17  profilanswer
 

n°1175901
naceroth
Posté le 14-08-2005 à 03:47:00  profilanswer
 

Bienvenu dans le monde merveilleux d'internet explorer. Remarque, tu te demanderas plus pourquoi on ne fait pas une redirection en javascript pour ton problème, mais une au niveau du serveur avec un header("Location: x.php" ); :)

n°1175976
weed
Posté le 14-08-2005 à 15:15:31  profilanswer
 

franchement dommage de devoir etre obligé d'utiliser header. Ca fonctionne mais :(
 
 
voilou, ma recupération des valeurs de mon formulaires puis insertions de valeurs et enfin, derniere ligne redirection avec le header.
 

Code :
  1. <?
  2. include ('connexion.php');
  3. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  4. mysql_selectdb($database) or die($diemessage);
  5. $ID=explode("|",$_POST['ID_change']);
  6. for ($i=1 ; $i < $_GET['nb']+1 ; $i++)
  7. {
  8. $j=0;
  9. $ID2=explode("+",$ID[$i]);
  10. $num=$ID2[0];
  11. $pprix12=$_POST['prix12'.$num];
  12. $pID=$_POST['ID'.$num];
  13. /*
  14. echo "<br>ID2[0] =>>> $ID2[0]";
  15. echo "<br>quartier ==>> ".$_POST['ID'.$ID2[0]];
  16. */
  17. $t =$_POST['quartier'.$ID2[0]];
  18. $t2=$_POST['prix12'.$ID2[0]];
  19. $t3=$_POST['prix34'.$ID2[0]];
  20. $t4=$_POST['prix5'.$ID2[0]];
  21. $t5=$_POST['ID'.$ID2[0]];
  22. /*
  23. echo "<br>0 ./ id      ".$t5;
  24. echo "<br>1./ quartier ".$t;
  25. echo "<br>2./ prix12   ".$t2;
  26. echo "<br>3./ prix34   ".$t3;
  27. echo "<br>4 ./prix5    ".$t4;
  28.      */
  29. mysql_query("UPDATE quartier SET quartier='$t', prix12='$t2', prix34='$t3', prix5='$t4' where ID='$t5'" );
  30. }
  31. //echo "<br><br><a href='list_estimation.php'>list_estimation.php</a>";
  32. //echo "<script>document.location.href='list_estimation.php?mode=update'</script>";
  33. header('Location:http://127.0.0.1:4545/list_estimation.php');
  34. ?>


 
j'ai desactivé mes echo de debugage car je ne peux les laisser.  
 
 
Question : dans le header, j'ai vu qu'il valait mieux mettre une url complete, puis je mettre 127.0.0.1. Je suis sur mon serveur local mais apres il sera chez l'hebergeur Online.net, est ce que je serais obligé de changé l'url  ou pourrais je le laissé en 127.0.0.1 ?
 
EDIT : je sais qu'il faudra que je retire les 4545, car je ne serais pas sur le port 4545 sur online.net mais a part ca.


Message édité par weed le 14-08-2005 à 15:18:16
n°1176291
naceroth
Posté le 15-08-2005 à 00:15:24  profilanswer
 

2 trucs :
 
- en voyant ton code, c'est absurde de vouloir utiliser JS puisque tu veux forcer une mise à jour de la page, autant le faire directement sur le serveur, ça te fait gagner une étape :)
 
- Pour ta question, y a de chouettes variables en php qui contiennent des tas d'infos sur le script en cours. Dont $_SERVER["SERVER_NAME"] et $_SERVER["SERVER_ADDR"] contenant respectivement le nom du serveur et son adresse IP, ce qui devrait te permettre de régler le problème sans avoir à modifier ton code à chaque changement de serveur :)

n°1176356
weed
Posté le 15-08-2005 à 01:36:00  profilanswer
 

le js est super utile pour moi car des qu'il y a le moindre souci, je desactive la redicrection et je regarde les resultats des valeur renvoyés car, je ne l'ai pas encore activés ....
 
Donc pour ma part ca sera  
 
javascript pour debugage
puis apres le header en désactivant les echo car on s'est jamais  
puis apres supressions des echos ...
 
 
sinon merci, cela fonctionne ton astuce, pour ceux que cela interresse :
 
 header('Location:http://'.$_SERVER["SERVER_NAME"].':'.$_SERVER["SERVER_PORT"].'/list_history.php');


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pb de rafraichissement sous IE avec mes formulaires

 

Sujets relatifs
cherche script pour lier des champs de formulaires à des liensstruts et JSP, principe des formulaires
[Access] 2 petites question sur les formulairesajout enregistrement dans un sous-sous formulaires
Panier qui s'incrémente avec rafraichissementProblème de formulaires...
questions PHP et les formulaires:Script Vbs et formulaires dans IE
Gestion de documents, formulaires + PHP[VBA]access 2003, formulaires et enregistrements de table
Plus de sujets relatifs à : pb de rafraichissement sous IE avec mes formulaires


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR