Re[4]: [PHP-WIN] Preventing multiple submits
| From: | Zak Greant | Date: | Thu, 24 Aug 2000 22:22:08 +0000 |
| Subject: | Re[4]: [PHP-WIN] Preventing multiple submits | ||
| References: | 1 2 | Groups: | php.windows |
| Request: | Send a blank email to php-windows+get-2122@lists.php.net to get a copy of this message | ||
At 05:11 PM 8/24/00 -0500, Pablo Vera wrote:
[snip] Zak: I think that the "if (! $post_counter)" will always result in a true condition, this is because the only ways to preserve a variable from instance to instance of a script is by sending them in the URL or by setting a cookie, but since the form is being submitted twice from exactly the same page, you will have two scripts running at the same time, with exactly the same variables and values, and the output of the first one will not be received by the browser, because the second one canceled that connection. You will end up processing two forms, but the user will receive confirmation for only one.The $post_counter variable is not stored client side. All that you store client side is a session id in either a cookie or as get/post data. The $post_counter variable is tracked server side by PHP's session manager. (You could also use another mechanism, if desired.) - zak
I know that JavaScript (or any other Client-Side tool) has its limitations as noted by you before, but with it you will stop the second submission before it is actually sent. The first script will run normally and return its output to the browser, without knowing that the user tried to send the form for a second time. The browser will no cancel that first connection, because it is not posting a second form. Pablo.