2012-07-16 237 views
0

我有一個登記表,我已經設定電子郵件列在DB獨特所以如果用戶與使用的電子郵件地址寄存器被允許沒有重複的電子郵件。codeigniter多次提交按鈕點擊。 (不會阻止多個提交或點擊)

我的問題是,如果有新的電子郵件用戶註冊(指沒有在DB)和他/她點擊過快或什麼。第一個提交請求將成功插入數據庫並返回「電子郵件不可用或不可用」的錯誤消息。

如何我防止第二或休息的請求,如果用戶點擊太快了?

注意,我需要防止服務器端沒有客戶端像禁用按鈕

+1

腳本按預期運行。這裏有什麼問題?爲什麼你不能禁用客戶端的按鈕? – itachi 2012-07-16 07:03:55

+0

如果用戶有js禁用 – vzhen 2012-07-16 07:33:12

回答

1

當註冊成功設置了一些關鍵價值和時間的會話。所以當一個註冊請求到達服務器時,只需在短時間內檢查是否已經在同一個會話上註冊成功。如果是這樣,不要進入註冊過程,只需顯示成功消息,就像您爲第一個請求顯示的那樣。

當有驗證錯誤,你不需要做任何事情,因爲在驗證表單第二次沒有壞處。

注:如果您已經通過禁用提交按鈕點擊後會是最簡單的解決方案來實現這一點。