簡體   English   中英

單擊提交按鈕后按f5

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM