sorry voor de vage titel maar ik kan m'n probleem niet echt veel beter omschrijven in 1 regel.
dit is de situatie:
ik heb een html formulier dat POST naar de pagina waar het formulier zelf op staat. dit vanwege het feit dat de ingevulde waarden serverside gevalideerd worden en evt. foutmeldingen meteen in het formulier verschijnen. als er geen fouten optreden doe ik een redirect naar de vervolgpagina met een location-header.
dit is het probleem:
als ik het formulier fout invul krijg ik de foutmelding te zien. als ik daarna de fout corrigeer en dus op de vervolgpagina uitkom en daarna op de 'back' knop van m'n browser klik, krijg ik een 404. dit is alleen het geval als ik in de formulier-pagina een sessie start.
het probleem doet zich dus alleen voor als ik het formulier eerst een keer fout invoer, en ik op de pagina een sessie start. bijgaand scriptje reproduceert het probleem:
waar komt die 404 nou vandaan? als ik immers nogmaals 'back' klik of een relaod doe, werkt de pagina prima.
dit is de situatie:
ik heb een html formulier dat POST naar de pagina waar het formulier zelf op staat. dit vanwege het feit dat de ingevulde waarden serverside gevalideerd worden en evt. foutmeldingen meteen in het formulier verschijnen. als er geen fouten optreden doe ik een redirect naar de vervolgpagina met een location-header.
dit is het probleem:
als ik het formulier fout invul krijg ik de foutmelding te zien. als ik daarna de fout corrigeer en dus op de vervolgpagina uitkom en daarna op de 'back' knop van m'n browser klik, krijg ik een 404. dit is alleen het geval als ik in de formulier-pagina een sessie start.
het probleem doet zich dus alleen voor als ik het formulier eerst een keer fout invoer, en ik op de pagina een sessie start. bijgaand scriptje reproduceert het probleem:
PHP:
1
2
3
4
5
6
7
8
9
10
| <? session_start(); // <-- troublemaker! if(isset($_POST["submit"])) if(empty($_POST["foo"])) echo "foutmelding!"; else header("Location:vervolgpagina.php"); ?> <form method="post"> <input type="text" name="foo"> <input type="submit" name="submit"> </form> |
waar komt die 404 nou vandaan? als ik immers nogmaals 'back' klik of een relaod doe, werkt de pagina prima.