Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Preventing Duplicate Form Submissions

by tadman (Prior)
on Jun 12, 2002 at 00:14 UTC ( #173699=note: print w/replies, xml ) Need Help??

in reply to Avoiding a second click

If you can provide some sort of unique "transaction identifier" number that the server can use to check for duplicate submissions, you might be able to catch these.

In your CGI handler, for example, you would look to see if that transaction identifier had been submitted before, and if it had, you could either generate an error, or merely display the result of that prior transaction.

The problem with the second approach is that the user might have hit the emergency "Stop" button, changed something, and submitted again. In that case their change will be silently ignored, and that's not good.
  • Comment on Re: Preventing Duplicate Form Submissions

Replies are listed 'Best First'.
Re: Re: Preventing Duplicate Form Submissions
by mirod (Canon) on Jun 12, 2002 at 00:23 UTC

    What I do in this case is that I store the parameters of the form, and if I find that I have already received it, I check compare the 2 sets of parameters. If they are identical then no problem, I do not process the second form and just resend the result. If there is a difference I send an error message. What you do in this case really depends on your application. You might want to "undo" the first transaction and process the second one.

    Update: I forgot to mention that I store the unique identifier in a hidden parameter. This is certainly not completely secure, as the parameter can be changed and intercepted, but I believe it is OK in my case (malicious users changing the parameter would just loose the session and outside attackers trying to hijack the session would get the error message).

      Depending on how you're applying this concept, it could be broken. A user might submit the exact same parameters later in the day (e.g. order "one more" of an item they had previously order that day or suchlike), or maybe even five minutes later.
      Dear Mirod, Thank you very much for your kindly reply. I certainly will consider your comments.
Re: Re: Preventing Duplicate Form Submissions
by MMilani (Sexton) on Jun 12, 2002 at 11:28 UTC
    Dear Tadman, Thank you very much for your kindly reply. I certainly will consider your comments.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://173699]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2016-10-26 05:46 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (336 votes). Check out past polls.