I want to create a button to reload a page without losing $_POST
data and $_SESSION
.
On the web, I found this piece of code:
onclick="document.location.reload();"
And here is the code of my button:
<a class="button" href="" style="font-size: 0.7em; padding: 5px 10px;" onclick="document.location.reload();">Recharger la page</a>
But when I click on the button, I lose $_POST
data and $_SESSION
.
If I try with the keyboard command Ctrl+R (Chrome) or F5 (Firefox, IE9), the browser is showing an alert to notify me that I'm again trying to submit form. If I accept, it works.
How can I reproduce this kind of browser-refresh with a JavaScript command? Or is the code of my button wrong?
Thank you very much for your help.
This should happen in any case as long as you are on the same location you POSTed to. However, it's common to redirect after a POST request to avoid exactly what you are trying to do.
The reason why your code doesn't work is the fact that
href=""
will cause a GET request to the current URL. Usehref="#"
to prevent it from loading a "new" page or addreturn false;
at the end of youronclick="..."
code.