Hoe “Pagina is verlopen” vermijden?

Vrijdag 13 Mei, 2005

Als 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:

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

<?php 
ini_set('session.cache_limiter', 'private');
?>

Meer info op Guru Speak (C.Shiflett)

2 reacties op “Hoe “Pagina is verlopen” vermijden?”

  1. Van den Bogerd Frans zegt:

    Mooi, mooi…

    En waar is mogelijkheid 3? :)

  2. webber zegt:

    Woeps, die was ik effe vergeten. Dat is dus de php.ini veranderen. tnx frans ;-)

Reageren