2010-06-25 93 views
3

據我所知,雙重帖子永遠是形式問題。Form Double Post Issue

我使用令牌服務器端方法來處理這個問題,但我發現它似乎並沒有完美的工作。我已經將系統設置爲爲每個表單創建一個唯一標記,然後在SESSION發佈後將其記錄在SESSION中。

SESSION實際上是用戶發佈的每一種表單的數組(在SESSION過期時被重置),並且在每次提交時系統檢查in_array()以查看該表單是否已經被髮布。如果是這樣,那就阻止他們。

似乎在生產系統不能將完成的令牌記錄到SESSION中足夠快地處理雙擊提交按鈕。因此,重新訪問舊頁面的處理情況良好,但立即雙擊提交會產生問題。

不知道我能做些什麼來解決這個問題。

+1

[en.wikipedia.org/wiki/Post/Redirect/Get](http://en.wikipedia.org/wiki/Post/Redirect/Get) – 2011-04-18 19:16:11

回答

1

如何通過單擊(通過Javascript,使用onClick處理程序)時立即禁用提交按鈕?這顯然不能解決所有問題,但它可能涵蓋系統不夠快速將記錄記錄到SESSION中的情況。

0

我有這個問題以及我正在爲公司工作的內部東西。根據我的經驗,人們多次點擊是因爲他們不認爲發生任何事情。我所做的是取消提交表單的能力,並顯示某種信息說正在處理信息。

彈出div並只是禁用按鈕效果很好。