Form velden leeg na history.back()
Gerard Nijboer
20/05/2009 16:29:00Hey,
Ik heb een formulier dat de submit naar zichzelf pleegt.
Wanneer er zich een error voordoet, wil ik graag dat de gebruiker via de link <a href='javascript:history.back()'>Ga terug</a> in zijn voorheen ingevulde formulier terechtkomt.
Nu gebeurt het echter dat het formulier steeds leeg is als ik terug ga.
Hoe komt dit?
Komt dit omdat ik het submit naar hetzelfde bestand? Zou ik het dus kunnen oplossen door een formulier.php en submit.php te gebruiken?
En kan ik dit eventueel oplossen door Ga terug naar hetzelfde bestand te laden en alle $_POST[var] in de values van de velden te zetten?
Iemand toevallig een creatieve oplossing?
Alvast bedankt!
Ik heb een formulier dat de submit naar zichzelf pleegt.
Wanneer er zich een error voordoet, wil ik graag dat de gebruiker via de link <a href='javascript:history.back()'>Ga terug</a> in zijn voorheen ingevulde formulier terechtkomt.
Nu gebeurt het echter dat het formulier steeds leeg is als ik terug ga.
Hoe komt dit?
Komt dit omdat ik het submit naar hetzelfde bestand? Zou ik het dus kunnen oplossen door een formulier.php en submit.php te gebruiken?
En kan ik dit eventueel oplossen door Ga terug naar hetzelfde bestand te laden en alle $_POST[var] in de values van de velden te zetten?
Iemand toevallig een creatieve oplossing?
Alvast bedankt!
PHP hulp
22/12/2024 11:15:48Emmanuel Delay
20/05/2009 16:39:00Een aantal oplossingen:
-kopieer je post variabelen naar SESSION variabelen
BV. $_SESION['post'] = $_POST; Dit doe je bij het verwerken van het formulier.
Ik denk niet dat 'javascript:history.back()' hier een goede keuze is. De kans is groot dat de pagina niet opnieuw wordt geladen, maar dat juist de html nog in het geheugen is. Je zou het eens moeten proberen. Iemand hier meer ervaring mee (ik gebruik dit nooit)?
-Met Ajax kan je formulieren versturen zonder de pagina te verlaten. Alles blijft dus sowieso staan.
Bij de afhandeling kan je dan ofwel een fout meegeven ofwel de pagina redirecten indien alles wel geslaagd is.
Hier vind je voorbeelden: http://www.phphulp.nl/php/tutorials/8/666/
-kopieer je post variabelen naar SESSION variabelen
BV. $_SESION['post'] = $_POST; Dit doe je bij het verwerken van het formulier.
Ik denk niet dat 'javascript:history.back()' hier een goede keuze is. De kans is groot dat de pagina niet opnieuw wordt geladen, maar dat juist de html nog in het geheugen is. Je zou het eens moeten proberen. Iemand hier meer ervaring mee (ik gebruik dit nooit)?
-Met Ajax kan je formulieren versturen zonder de pagina te verlaten. Alles blijft dus sowieso staan.
Bij de afhandeling kan je dan ofwel een fout meegeven ofwel de pagina redirecten indien alles wel geslaagd is.
Hier vind je voorbeelden: http://www.phphulp.nl/php/tutorials/8/666/
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay