2009-12-03 66 views
1

I',與一家小網店合作(包括一家simpel網上商店 - 無需用戶)。如果用戶不接受付款,5-10分鐘後恢復會話。 PHP

我需要找出一個會話用戶是否「接受」付款後.. 5-10分鐘。

如果不是,我必須「回滾」商店並將當前商店會話設置爲空。任何幫助如何做到這一點?或例子將是巨大的..

THX現在

+0

問題是寫得不好,但它是一個很好的問題,因爲它是一個問題,大多數人都會碰上。 – TravisO 2009-12-03 04:37:12

+0

對不起我的英語,我正在盡我所能。 – william 2009-12-03 09:40:42

回答

1

一種選擇是有一個last_activity場在你的數據庫,並檢查/更新每個用戶的頁面加載

另一種選擇是有一個腳本每隔10分鐘左右運行一次cron作業,清理陳舊的會話

+0

更好的是,將這個值存儲在PHP會話中,那麼額外的數據庫訪問就不是必需的。 – TravisO 2009-12-03 04:34:00

+0

對他來說這可能是一個更好的選擇,你應該添加作爲答案 – Galen 2009-12-03 16:36:44

1

如果可能,請將支付交易與商店狀態分開;你不應該在沒有付款的情況下回滾整個商店,只是交易/訂單。此外,時間鎖並不是實現這種事情的最佳方式,因爲現實生活中的事情,互聯網連接速度和一般分心都會造成創建買方付款被錯誤逆轉的情況。如果他們不耐煩,你可能會失去銷售...

但是,沒有關於該系統的更多信息,很難提出替代方案,所以我會說使用cron作業來刪除超過10分鐘的任何交易尚未設置爲「已接受」。