Prevent Double Form Submit using Tokens
php
Solution
I suggest you to use use the PRG pattern (Post/Redirect/Get), which is also implemented by forums like `phpbb`.
Post/Redirect/Get (PRG) is a web development design pattern that prevents some duplicate form submissions, creating a more intuitive interface for user agents (users). PRG implements bookmarks and the refresh button in a predictable way that does not create duplicate form submissions.
Problem
I am trying to prevent the user from double submitting the forum by adding token hidden field. So here is what I have done so far (before the forum loads I have this code to create a token with the current time as a value. ``` $token = time(); setcookie('formToken', $token, time() + 3600); ``` in my forum I have a hidden input like this ``` <form method="post" action="'.$PHP_SELF.'?action=update"> <input type="hidden" name="token" value="'.$token.'" /> <input type="submit" value="go" /> </form> ``` now on the top of my page where $action == "update" I have this code ``` if(isset($_POST) && ($_POST['token'] != $_COOKIE['formToken'])){ $error_list .= '<li>You can not submit this forum twise.</li>'; } ``` if i hit F5 to refresh the page it submit the form again without displaying my error.