[英]hitting f5 after clicking the submit button
我有一個PHP應用程序,用戶可以申請獎金。 但是在獎勵兌換代碼運行之前有一個確認頁面。 問題是在IE中 ,如果您在單擊“繼續”按鈕后立即點擊f5
,則確認頁面會刷新,而獎勵兌換代碼已由“繼續”按鈕觸發並實際通過。 但由於用戶仍然看到確認頁面,他們會再次點擊“繼續”按鈕,現在他們會收到錯誤,因為他們已經注冊了。
有沒有辦法可以使用javascript
禁用f5
按鈕? 這是解決這個問題的最好方法嗎? 我嘗試過很多我在網上找到的腳本,但是沒有一個能實現它。 有沒有更好的方法可以解決這個問題? 也許來自應用方面?
編輯:如果聲明獎金的結果是數據庫,您可以在確認屏幕上加載現有的聲明並測試已存在的聲明。
編輯:你可以做的另一個巧妙的技巧是serailize / json_encode $ _POST並從中產生一個哈希,將其存儲在數據庫或用戶會話中,並對其進行測試。
我將生成並將數據庫的單個使用令牌(哈希)作為隱藏字段進行數據庫生成,如果重新匯總后期數據,則該令牌已經被使用,並且您可以使該請求無效。
有幾種方法可以解決您的問題:
在這里結賬: http : //bjw.co.nz/developer/general/75-how-to-prevent-form-resubmission
我一直在使用第二種方法(使用會話),它確實運行良好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.