Thanks for the in-depth reply. This is what I use to initiate the session <cfapplication sessionmanagement="yes" name="myapp" sessionTimeout="#createTimeSpan(0,0,30,0)#" /> I thought the CFLOCK worked but the next day I was able to trip it, however, now I'm not able to do so, weird, I think the shared server that I had this on was possibly running slow at the time so the SQL was not responding quickly and therefore allowing me to get that extra hit in. I'm using this session for a purchase, the final page displays an invoice and creates necessary records inside the database. I use a single session variable to let CF know if I require the code to post a payment request to PayPal, after which I delete that variable, but allow all others to remain, that way, if the user refreshes the page it can still display the info including their log in information. I did this with the thought that if there was a delay/pause in displaying the page and they hit submit again, it would not recharge them but it would also allow them to obtain their info and make it look like a successful order. However, as described, I was able to rapidly hit the button, in such a way that the session variable which tells the CF to process not to post a payment did indeed seem to have been set to zero, but the other session variables obtained from the queries did not exist, which resulted in a problem because the refresh did not have the sessions available to display the page correctly. The code which clears out the session to tell it not to post a payment/dbase write again had to go close to the top because the payment to PayPal was the first thing processed, then my local dbase queries follow, if I did not put the session variable removal right underneath the paypal post, it could potentially try to double bill them, althought paypal would reject the token (I would hope) even with rapid posting, I did not want to take the risk. I can't have a log out option because they are not technically logged into an account. Hope that explains Thanks Mark
... View more