furious Gontran Posté 17 Janvier 2005 Posté 17 Janvier 2005 Salut, J'ais fais un code ou l'utilisateur entre des données dans la base. Il y entre aussi une image. Pour creer un apercu des données qu'il rentre je le fais passer par une page intermediaire. L'image qui est envoyée est copié sous forme temporaire et possede toujours le meme nom afin que la nouvelle image temp ecrase l'ancienne et qu'ainsi je n'ais pas pleins de fichiers temporaires. Cependant, lorsque je teste ma page celle ci m'affiche toujours l'ancienne image temporaire, alors que la copie s'est bien effectué et que l'image designé (j'ais vu ca dans les proprietes) m'indique bien le chemin de la nouvelle. En gros, mon image change sur mon disque mais pas sur ma page ce qui est genant... Une fois mes scripts sur le serveur est ce que j'aurais le meme probleme ? Existe t'il un moyen d'actualiser par php cette image pour que ce soit la derniere copiée qui apparaisse ??
bigornot Posté 17 Janvier 2005 Posté 17 Janvier 2005 Hum... Peut-etre que l'image est restée dans le cache ? dans ce cas, le meta : <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> devrait te servir
furious Gontran Posté 17 Janvier 2005 Auteur Posté 17 Janvier 2005 Ok mais juste un peu plus precisement ? Comment je fais ?
Thanh Posté 17 Janvier 2005 Posté 17 Janvier 2005 Lu, Les balises meta se mettent entre les balises <head> et </head> de ta page
furious Gontran Posté 18 Janvier 2005 Auteur Posté 18 Janvier 2005 <html><head> <title>Ajout Dans La Base</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> </head> Voici la source... Ben ca marche pas. C'est un script qui s'apelle lui meme cela pose t'il un probleme ?
Thanh Posté 18 Janvier 2005 Posté 18 Janvier 2005 Par PHP, ajoute ceci tout en haut de la page: header("Pragma: no-cache"); header("Expires: 0"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate");
furious Gontran Posté 18 Janvier 2005 Auteur Posté 18 Janvier 2005 (modifié) Merci, je vais essayer. Est ce que tu aurais une adresse de tutorial la dessus ? Pasque maintenant t'en qu'a faire je vais essayer de comprendre ------- Heu ben je les ais mis tout en haut de ma page: header("Pragma: no-cache");header("Expires: 0"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate"); <html> <head> <title>Ajout Dans La Base</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> </head> puis j'ais essayé dans le head... Mais ca marche po plus... Modifié 18 Janvier 2005 par furious Gontran
Titag Posté 18 Janvier 2005 Posté 18 Janvier 2005 Salut, Tu devrais vider le cache de ton navigateur afin de confirmer l'origine de ton problème... Sous IE : Menu Outils -> Options Internet => Supprimer les fichiers (§ Fichiers Internet temporaires) Sous Firefox : Menu Outils -> Options -> Vider le cache (§ vie privée)
furious Gontran Posté 18 Janvier 2005 Auteur Posté 18 Janvier 2005 Oui, mais le probleme reste le meme. Ca marche la premiere fois, mais ensuite le cache se remplis et il me sors toujours l'image du cache a la place de la nouvelle. C'est lourd...
Titag Posté 18 Janvier 2005 Posté 18 Janvier 2005 C'est pour ca que tu dois adopter la solution de Solo en mettant le code qu'il t'a donnée entre des balises php Normalement, ca envoit des entètes au navigateurs avant l'affichage de la page et qui permettent de spécifier au navigateur de ne pas utiliser le cache pour ledit affichage.
furious Gontran Posté 18 Janvier 2005 Auteur Posté 18 Janvier 2005 Ok j'avais pas compris qu'il fallait l'envoyer par php... Je l'envois par un echo en tout debut de page ? Ca reste encore flou... (Je sais j'ais parfois des capacités cerveau limité (vite de la RAM))
Thanh Posté 18 Janvier 2005 Posté 18 Janvier 2005 yO, les premières lignes de ta page doivent contenir ces lignes, fais attention de ne pas mettre d'espace ou de tabulation avant : <?phpheader("Pragma: no-cache");header("Expires: 0");header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header("Cache-Control: no-cache, must-revalidate");?> Bon courage
Titag Posté 18 Janvier 2005 Posté 18 Janvier 2005 Tu mets ce code en début de page tout simplement : <?phpheader("Pragma: no-cache");header("Expires: 0");header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header("Cache-Control: no-cache, must-revalidate");?> Attention ! Il faut mettre ce code avant tout le reste ! [edit] Solo un poil + rapide [/edit]
furious Gontran Posté 20 Janvier 2005 Auteur Posté 20 Janvier 2005 Merci bien... Je regardais comment les mails transmettaient les headers et je ne comprenais pas trop...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant