/**
*
* @authors Benjamin
* @date 2013-11-13 10:16:59
*/
一、常見的重複提交問題
a>點擊提交按鈕兩次。
b>點選刷新按鈕。
c>使用瀏覽器後退按鈕重複先前的操作,導致重複提交表單。
d>使用瀏覽器歷史記錄重複提交表單。
e>瀏覽器重複的HTTP請求。
二、防止表單重複提交的方法
a>禁掉提交按鈕。表單提交後disabled現在的按鈕或取消該按鈕的點擊事件或預設事件。這種方法可防止心急的用戶多次點擊按鈕。但有個問題,如果在客戶端把Javascript給禁止掉,這種方法就無效了,當然現代的web站點來說,應該就很少了。
b>Post/Redirect/Get模式。在提交後執行頁面重定向,這就是所謂的Post-Redirect-Get (PRG)模式。簡言之,當使用者提交了表單後,你去執行一個客戶端的重定向,轉到提交成功資訊頁面。這能避免使用者按F5導致的重複提交,而其也不會出現瀏覽器表單重複提交的警告,也能消除按瀏覽器前進和後退按導致的同樣問題。
c>使用cookie處理表單重複提交
PHP中的實作: