How To Stop Form Resubmission On Page Refresh?

Asked 8 years ago Modified 3 hours ago 98495 Views
0
Anonymous Post Date: Oct 08, 2017

Answers (1)

1

Basically, the general idea is to redirect the user to some other pages after the form submission which would stop the form resubmission on page refresh but if you need to hold the user in the same page after the form is submitted, you can do it in multiple ways.

Unset Form Data 

One way to stop page resubmission on page refresh is to unset the form data after it is submitted so that the variable storing form data becomes empty and wrap up your form processing block of codes to check if the form is empty.

if(!empty($_POST) && $_SERVER['REQUEST_METHOD'] == 'POST'){
 $data = // processing codes here
 unset $data;
}

This will make $data empty after processing and the first clause would stop form resubmission on page refresh.

Javascript

This method is quite easy and blocks the pop up asking for form resubmission on refresh once the form is submitted. Just place this line of javascript code at the footer of your file and see the magic.

<script>
if ( window.history.replaceState ) {
  window.history.replaceState( null, null, window.location.href );
}
</script>
Admin Answered: Oct 08, 2017
Comments
Naganath Mali 4 years ago
On Internet explorer its not working. Any suggestion on IE.
abdulkabeerabid 3 years ago
it really was a magicc.... life saver peice of code :)
Jiwan Thapa 3 years ago
Glad, it helped.
Go Kola travel 2 years ago
The js-option did the trick. Many Thanks! PS: The unset-option I did not understand how to process code within $data.
mohi 2 years ago
The code was great, I tested it in all browsers and it worked
khadem ul Hasnain 2 years ago
really Magis

Sign in to help the community by answering this question.

Log In to Answer