Re: Re: Getting the process ID
| From: | Josh Whiting | Date: | Fri, 25 Mar 2005 03:55:19 +0000 |
| Subject: | Re: Re: Getting the process ID | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-211542@lists.php.net to get a copy of this message | ||
> 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