Re: Preventing multiple submits
| From: | Manuel Lemos | Date: | Wed, 30 Aug 2000 01:58:01 +0000 |
| Subject: | Re: Preventing multiple submits | ||
| References: | 1 | Groups: | php.windows |
| Request: | Send a blank email to php-windows+get-2282@lists.php.net to get a copy of this message | ||
Hello Zak,
On 25-Aug-00 12:40:59, you wrote:
>At 02:45 AM 8/25/00 -0300, Manuel Lemos wrote:
>>[snip]
>>The best solution for really preventing more that one submission of the
>>same form on the server side is to use create a unique key and pass it in
>>the form as hidden field. Store the key in a database (session data area
>>is ideal for this). When the first form submission is received, check if
>>the key exists in the database, delete it, accept the form. On further
>>submissions, check that the key does no longer exist and warn the user
>>that the form was already submitted.
>The user's session id will serve very nicely as the unique key. That is
>why I say that only a counter is needed.
And what if you need more forms in a page or the user goes back to another
page with an already submitted form? I think keys need to be defined per
per form instance.
>>Right, you may want to check this PHP form generation and validation class.
>>It has an option to let you specify a text that is used to pop up a
>>confirmation box with Javascript that asks the user if he really means to
>>submit the form again. The user may confirm or cancel the form submission.
>>
>>This really works great since most of the times you just want to prevent
>>nervous users to submit forms more than once creating inadverted duplicate
>>database entries.
>>
>>http://phpclasses.UpperDesign.com/browse.html/package/1
>The class is more mature and feature-rich than any other form
>generation/validation script that I have run across (or written for that
>matter :) - however, it might be a bit intimidating for a new user!
There is nothing intimidating about it unless you may want to try to
understand the whole source code instead of reading the documention parts
that are needed to understand what you want to achive with the class. :-)
>I suppose that one thing to consider is that javascript is a nice clean way
>to stop most re-submissions. PHP can be used along with the js to ensure
>robust behavior.
I think of it the other way around. Javascript (client side) is the
complementary way, and PHP (server side) is mandatory, especially because
not always Javascript is available and when it is you can't do all sorts of
validations.
Regards,
Manuel Lemos
Web Programming Components using PHP Classes.
Look at: http://phpclasses.UpperDesign.com/?user=mlemos@acm.org
--
E-mail: mlemos@acm.org
URL: http://www.mlemos.e-na.net/
PGP key: http://www.mlemos.e-na.net/ManuelLemos.pgp
--