javascript not allowing second click is one way....

Another, is don't use a autoincremented integer as the unique key of the order, or get it from the DB, before you insert. So if in your process, you ASSIGN a order id, and store as a user var, before inserting order, then on submit, if submit second time, it will fail due to unique id contraints.

An easy way to do this, is before submitting order, earlier in the process, make an order, by inserting a bit of info, and have a field, called COMPLETE as boolean. on the first submit, make sure you set complete = false. Now you have a ready order in the db, and an order id, even if you use autoincrement. on the final submit, UPDATE that order, and set complete to Y.

There are other ways to skin it, but 2 step order like this is pretty damn foolproof. I have a couple of sites that take millions of dollars of orders, one, 2 million a day at times, and have never seen a dupe, because of a variant of the above method. But in my early days, it happened enough to piss me off. ;-)

Just remember to have a process, at the end of each month or so, to purge incomplete orders.

HTH

--

Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/

On Feb 10, 2007, at 11:13 AM, Dan Stein wrote:

I have a very complicated taf that is used to process the orders on my
clients site.

I guess we have been lucky so far. But seems like last month at least one person hit the submit button twice looks like they might have even found a
way to do it before the page refreshed.

It made a duplicate order record and made a mess of the second order so it
was actually everything twice.

I have not figured out how that could happen yet.

But what is the best way to prevent the submit button from getting hit twice
if in fact they are going to do it even before page refreshes.

Of note there are at least 3 different forms on this page.


--
Dan Stein
FileMaker 7 Certified Developer
Digital Software Solutions
799 Evergreen Circle
Telford PA 18969
Land: 215-799-0192
Cell: 610-256-2843
Fax 215-799-0192 ( Call 1st)
FMP, WiTango, EDI,SQL 2000, MySQL, CWP
[EMAIL PROTECTED]
www.dss-db.com

Men do not care how nobly they live, but only how long they live, although it is within the reach of every man to live nobly, but within no man's power
to live long.  Brian Haig Private Sector



______________________________________________________________________ __
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

Reply via email to