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

  FORUM HardWare.fr
  Programmation

  [html/javascript/php] comment forcer un refresh ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[html/javascript/php] comment forcer un refresh ?

n°36791
John74
Posté le 03-06-2001 à 22:49:47  profilanswer
 

càd comment faire lorsqu'un visiteur arrive sur le site, pour que celui-ci recharge automatiquement les dernières modifications (depuis l'heure précédente par exemple)
 
l'équivalent de la touche F5 en somme !
 
une idée ?
 
merci

mood
Publicité
Posté le 03-06-2001 à 22:49:47  profilanswer
 

n°36795
youdontcar​e
Posté le 03-06-2001 à 23:02:53  profilanswer
 

rajoutes des headers au tout début de ton .php :
 
<?
header("Expires: Thu, 01 Jan 2000 00:00:01 GMT" );
header("Last-Modified: " . gmdate("D, d M Y H:i:s" ) . " GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
?>

n°36826
John74
Posté le 04-06-2001 à 13:28:42  profilanswer
 

merci youdontcare, mais malheureusement ça ne marche pas :-(
 
p-e de ma faute pas été assez précis, alors voilà + d'explications :
 
c'est une page html/php qui est lancée par un clic sur un lien du genre
 
<A HREF="truc.php">cliquez ici</A>
 
cette page html contient en résumé
 
<HTML>
<?
   ce script PHP modifie le contenu d'une image, disons image.gif
?>
<IMG SRC="image.gif">
</HTML>
 
et par exemple si on re-clique sur le lien 10 minutes après, et malgré que l'image soit modifiée par exemple toutes les deux minutes, et bien c'est toujours l'ancienne image qui est affichée. La seule façon d'avoir la nouvelle image c'est de faire F5 (raffraîchir)
 
donc la question c'est : existe-t-il un moyen pour que chaque fois que la page est appelée, qu'elle soit automatiquement complètement rechargée ? merci

n°36831
youdontcar​e
Posté le 04-06-2001 à 14:05:51  profilanswer
 

les headers plus haut forcent le browser à rafraîchir le code sorti par le .php .
 
comment modifies tu ton image ? si tu passes par gd, et que tu as un autre .php qui la modifie, tu peux faire <img src='creationimage.php'> et dans ce .php, rajouter ces headers plus un header("Content-Type: image/gif" ) (ou qq chose d'approchant).
 
sinon je vois pas bien comment faire ... si tu modifies ton image autrement, modifies aussi la date.

n°36850
John74
Posté le 04-06-2001 à 17:43:32  profilanswer
 

oui avec GD 1.6.2+
 
le pb ne vient pas du php, l'image est correctement générée à chaque fois, c'est Internet Explorer qui déconne !!! en fait à mon avis il a une sorte de mémoire tampon, et quand il voit qu'une image se trouve dans cette mémoire et bien il l'affiche bêtement, alors que moi je voudrais qu'il aille d'office chercher la dernière version sur le net, et si parfois c'est la même tant pis !
 
bref, ce que je cherche c'est une commande qui fasse exactement la même chose que quand vous appuyez avec votre petit doigt sur la touche F5 !
 
sinon je n'aurai pas d'autres choix que de mettre en-haut de ma page le texte "n'oubliez pas d'appuyer sur F5 pour réactualiser cette page !" mais je trouve ça horrible...
 
please, help ! :)

n°36855
youdontcar​e
Posté le 04-06-2001 à 18:03:57  profilanswer
 

yep les problèmes de browser, grosse galère ... mes premiers tests php marchaient sans les headers au dessus car j'avais ie5.5. sous ie5, gros plantage :)
 
la solution bourrine qui marchera a tous les coups, c'est qu'à chaque fois que tu changes l'image, tu lui donnes un nouveau nom. tu peux rajouter un timestamp de l'heure courante par ex ... si ton image est générée à chaque visite de la page, ce n'est pas un gros problème. sinon il faudra mettre le nom de l'image dans une table sql.
 
autre chose, qui a l'air de marcher, c'est mettre une url au pif, par ex toujours à base d'un timestamp. ça contournera le cache, par contre je ne garantis ni la compatibilité ni la beauté de la chose :D
 
donc si ton image générée s'appelle 'gen.gif', tu mets echo "<img src='gen.gif?$timestamp'>" avec $timestamp = un timestamp unix, ou n'importe quelle string aléatoire.
 
de cette façon, ton .php génerera à chaque visite (n'oublie pas les headers ci dessus pour que ta page soit rechargée à chaque fois) une 'nouvelle' url, qui pointera en fait tj vers la même image.
 
c'est absolument infâme, mais ça devrait marcher. ensuite, si tu trouves mieux, balances sur ce forum.

n°36858
youdontcar​e
Posté le 04-06-2001 à 18:12:21  profilanswer
 

deuxième réponse, car ça m'étonne ... tu dis que "ce n'est pas php qui déconne". non, c'est clair ! rajouter les headers HTTP en php permet justement de préciser au browser "ne cache pas cette url". et ça, ça marche impec, c'est choppé direct de la mailing list officielle.  
 
donc si tu génères ton image dans un .php, pourquoi le rajout de ces headers ne marche pas ? l'image sortie par le .php précisera au browser de ne pas cacher l'image, justement. t'as testé ?

n°36859
ZoumZoumZe​ng
Supreme
Posté le 04-06-2001 à 18:18:19  profilanswer
 

tout ce que je sais c que en javascript tu peut recharger les images

n°36895
John74
Posté le 04-06-2001 à 21:44:44  profilanswer
 

non définitivement les headers sont apparemment incompatibles, ça ne change rien et en plus ça me sort un tas de warnings épouvantables :
 
Warning: Cannot add header information - headers already sent by (output started at blabla...)
 
mais par contre le truc de changer de nom à chaque fois lui il marche à la perfection, c'est infaillible !!! :)
 
merci !

n°37035
zedocfilou
Posté le 05-06-2001 à 14:18:56  profilanswer
 

John74 a écrit a écrit :

non définitivement les headers sont apparemment incompatibles, ça ne change rien et en plus ça me sort un tas de warnings épouvantables :
 
Warning: Cannot add header information - headers already sent by (output started at blabla...)
 
mais par contre le truc de changer de nom à chaque fois lui il marche à la perfection, c'est infaillible !!! :)
 
merci !




 
 
ca ca veux dire qu'il y a eu affichage d'un caractere avant ton header :
 
verifie qu'ya pas un espace avant le premier <?php ou meme un retour a la ligne...


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

  [html/javascript/php] comment forcer un refresh ?

 

Sujets relatifs
probleme de javascript sur ma page web[javascript] d'où vient l'erreur?
[javascript] Determiner l'ordre de superposition de plusieurs Div ?[javascript] onBlur et style de input text
Cherche bon site sur le html and co... ;-(Question toute bête sur HTML : text-decoration: none
[HTML, ASP] Lancement d'application à partir d'une page Web[html] ou [javascript] empecher le chargement du cache d'1 page web
[JAVASCRIPT]Comment faire communiquer deux frame 
Plus de sujets relatifs à : [html/javascript/php] comment forcer un refresh ?


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