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

 


Dernière réponse
Sujet : [html/javascript/php] comment forcer un refresh ?
zedocfilou

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...


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
zedocfilou

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...

John74 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 !
ZoumZoumZeng tout ce que je sais c que en javascript tu peut recharger les images
youdontcare 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é ?
youdontcare 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.
John74 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 ! :)
youdontcare 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.
John74 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
youdontcare 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" );
?>
John74 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

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)