> The problem I am having is that people are double-submitting certain 
> transactions.  My first attempt to prevent this was to store a flag in the 
> session record indicating whether or not certain transactions had been 
> completed, but this turned out to be insufficient at times because users 
> could try and initiate a second transaction before the first transaction had 
> finished (and thus the system had not yet flagged the transaction completed 
> in the session record).  They then both completed in parallel, and voila, 
> duplicate transactions again.
> 
> I realized that this sort of problem would always exist unless I had some 
> sort of semaphore mechanism.  Once a user has *started* a transaction, they 
> need to be prevented from initiating a second transaction until the first 
> transaction has been completed.
> 
> I am open to suggestions on how to do this.  What is the best way?

do you have access to a database? why not just manage the transaction 
on the database level?  transactions, locking, etc. are a core part of 
what databases do for a living. it's not a problem best solved with PHP.

/josh w

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to