我不知道有什麼技術可以用來避免用戶在刷新頁面時再次發表表單兩次並選擇再次提交?
例如我已經在regiter.php之內形成並在register.php中處理它。
1st我可以在另一個文件中處理例如register_process.php並重定向到register.php,但我不得不創建約20個新頁面,並重新定位了很多代碼,我不想要這個選項。
第二我可以headers
打我不記得確切的伎倆,但曾與一些不愉快的經歷 - 看到網頁上的舊數據刷新之後用戶...
我能在成功只是重新定位一些dummy.php和dummy.php跳回register.php那麼即使他們刷新頁面瀏覽器不會重新發布,但它並不能防止他們使用後退按鈕和c hoosing重新發布,我知道我可以過期頁面,但我發現我討厭的經驗,可能其他用戶看到頁面過期的錯誤。
4th對每個表單使用一些獨特的「訪問鍵」,一旦頁面加載後將與表單一起使用,一旦使用無法重用,但我有種與該功能的邏輯鬥爭。如何知道密鑰沒有存儲在MySQL DB中,我認爲基於時間的訪問不是很好,或者是因爲一些用戶在頁面打開和表單提交之間可能需要很長時間。
我需要更多的建議如何避免用戶重新發布窗體。
我做了類似的事情,但是用多行代碼:) 問題是,如果他們提交表單前刷新頁面,'$ _SESSION [「POSTDATA」]'不會存在了 附:使用'strcasecmp($ _ SERVER ['REQUEST_METHOD'],「POST」)'而不是'$ _SERVER ['REQUEST_METHOD'] ==「POST」''的好處? –