Hoe “Pagina is verlopen” vermijden?
Vrijdag 13 Mei, 2005Als je werkt met sessies kan het wel eens gebeuren dat, wanneer je de browser “Vorige” - knop gebruikt, je op een “Pagina is verlopen” strandt. Heel vervelend.
De oorzaak is de caching. Wanneer je een sessie start, worden er headers meegestuurd die caching uitschakelen. En vandaar die vervelende pagina…
Er zijn 3 mogelijke oplossingen, allemaal om de cache-control in private modus in te schakelen. Dit houdt in dat alle pagina’s lokaal gecached mogen worden, dus niet in een publieke cache / proxy.
1) Stuur een header mee bij het begin van je script:
header('Cache-Control: private');
2) Stel je php.ini in: verander de regel in
session.cache_limiter = private
.
3) Als je geen toegang hebt tot je php.ini, kan je hetzelfde ook bekomen door bovenaan je script de volgende functie te gebruiken.
ini_set('session.cache_limiter', 'private');
Meer info op Guru Speak (C.Shiflett)
Maandag 16 Mei, 2005 op 10:56
Mooi, mooi…
En waar is mogelijkheid 3?
Maandag 16 Mei, 2005 op 11:02
Woeps, die was ik effe vergeten. Dat is dus de php.ini veranderen. tnx frans