Ik heb een contactformulier waarin de afhandeling en het formulier in hetzelfde PHP bestand zitten. Ik gebruik POST variabelen.
Nu heb ik last van het bekende probleem dat na verzending het formulier opnieuw verzonden wordt als ik de pagina ververs. Voor zover ik weet is het niet mogelijk om de POST variabelen leeg te maken direct na verzending, omdat ze nog in het geheugen van de browser zitten.
Heeft iemand hier een idee wat te doen om dit probleem te voorkomen?
We praten langs elkaar heen. Ik vind het juist prima dat de POST array leeg is want het enige wat ik wil tonen als validatie correct is, is een "Dank U" bericht. En een leeg formulier.
Volgens mij is hier inderdaad sprake van enige miscommunicatie :-). Als je mijn voorbeeld aanhoudt dan werkt het inderdaad zoals je wilt. Is de validatie geslaagd en zijn de gegevens verwerkt dan doe je een redirect. Vergeet niet een exit(); achter de redirect te plaatsen overigens.
Doe een "algemene pre-check" met javascript om de "normale bezoekers" te faciliteren.
Pas als je door de pre-check heen komt, verstuur je het formulier werkelijk en check het het met PHP.
Scheelt een hoop onnodig gePOST naar je server.
<form action="" method="" onsubmit="javascript: return checkForm(this);">
</form>
<script type="text/javascript">
function checkForm(oFormElement)
{
var bErrorFound = false;
if(????) // Is er een error gevonden
{
bErrorFound = true;
}
return (bErrorFound == false);
}
</script>