Page 1 of 3
Question PHP/forumactif

Posted:
23 Aug 2009, 15:25
by Marco
Vous avez peut-être remarqué que j'ai changé mon avatar (plus ou moins),
mais j'ai remarqué ce fait étonnant sur le forum :
Lorsque je vais sur une page où j'ai posté plusieurs fois, mon avatar, qui change de couleur aléatoirement, est le même dans toute la page SAUF pour le premier message de la page, où sa couleur peut changer.
La question est simple : pourquoi ? (Ça serait plus sympa qu'il change toujours de couleur

)
Re: Question PHP/forumactif

Posted:
23 Aug 2009, 15:42
by Bisam
A priori, ça n'a rien à voir avec le PHP.
En effet, le préprocesseur n'évalue rien au moment de la construction de la page. Il ne fait que mettre à la suite des morceaux de code pris à divers endroits.
C'est seulement au moment de l'affichage (donc chez l'utilisateur) que l'adresse de ton avatar est évaluée.
En toute logique, cette adresse devrait être évaluée à chaque fois qu'elle apparaît mais il est possible que ton navigateur reconnaisse qu'il y a plusieurs fois la même adresse et au bout d'un certain temps utilise une image stockée en cache.
Re: Question PHP/forumactif

Posted:
23 Aug 2009, 15:43
by Marco
Mmmm intéressant, je vais essayer avec un autre browser !
Re: Question PHP/forumactif

Posted:
23 Aug 2009, 15:46
by Marco
Effectivement !
IE affiche TOUJOURS la même image.
Merci Bisam !
Mais... ça veut dire que le navigateur n'affiche pas la page réelle non ?
Re: Question PHP/forumactif

Posted:
25 Aug 2009, 08:22
by ProgVal
Non, c'est juste que comme les navigateurs sont intelligents (sauf dans le cas de ceux qui portent le mot "Internet" dans leur nom), au lieu de charger plein de fois la même image, ils la chargent une fois, en font une copie sur le disque dur, et chargent l'image sur le disque dur à chaque fois que besoin s'en fait sentir.
Et ce système de cache est difficile à gérer au niveau PHP, car chaque navigateur le fait à sa façon, qui n'est pas tout le temps très compéhensible.
Re: Question PHP/forumactif

Posted:
25 Aug 2009, 08:28
by Marco
Même en faisant un header vers une autre image, ça marcherait pas ? Ou alors le navigateur comprendrait que c'est pas la même image ?
Re: Question PHP/forumactif

Posted:
25 Aug 2009, 10:09
by ProgVal
Hum... Peut-être qu'une redirection HTTP de code 302 ou 307... (personnellement, je n'ai jamais vu comment fonctionnait un code 307, mais peut-être que ça sera bon...)
Re: Question PHP/forumactif

Posted:
25 Aug 2009, 10:10
by Marco
Je testerai tout ça ce soir

Re: Question PHP/forumactif

Posted:
25 Aug 2009, 10:14
by Marco
The HTTP status code changes the way browsers and robots handle redirects, so if you are using header(Location:) it's a good idea to set the status code at the same time. Browsers typically re-request a 307 page every time, cache a 302 page for the session, and cache a 301 page for longer, or even indefinitely. Search engines typically transfer "page rank" to the new location for 301 redirects, but not for 302, 303 or 307. If the status code is not specified, header('Location:') defaults to 302.
Donc 307 à essayer

sauf qu'il ne s'agit pas de pages.
Merci ProgVal
Re: Question PHP/forumactif

Posted:
25 Aug 2009, 11:41
by ProgVal
Une page, une image, tout ça c'est pareil