I have a form (for A) that redirects to another form (form B).
When the user is redirected to form B, the if $_POST is set, an email function is triggered. This is a problem b/c if the user reloads the page, this email is sent again.
I would like to stop sending the email if the page is realoaded.
Hence, I included a field in form A, type=hidden with value=send, and when the email (form B) is sent I unset this field, but if I reaload the page the email is sent anyway.
if(isset($_POST['emailtrigger'])){
emailfunction();
unset($_POST['emailtrigger']);
}
How could I cue to the page that after the email has been sent, if page (form B) is reloaded, to skip email function?
Thank you
If you want to avoid redirects, or want to protect yourself against users that press “Back” and resubmit the form after redirect, simple solution would be to add a hidden field with a random value, generated when form if loaded. After form submit, just write this field value into session data. Then, if user submits same form data you will compare random field and what is written in the session data. If there’s that value – you don’t process the form data.