2016-01-07 20 views
0

我有一個表groups,其中一些字段包括username
在我的表單頁面中,我使用Ajax調用來檢查用戶名可用性。有用。但是,如果兩個用戶同時處理檢查,他們都可以看到該用戶名可用。我怎樣才能避免這種情況?如果兩個用戶同時處理檢查,使用PHP,MySQL和Ajax實現用戶名可用性

+1

實際上,直到有人處理請求以獲取該用戶名,用戶名纔可用。只告訴一個用戶該用戶名是免費的,因爲他們可能不會選擇該用戶名。我想你可以使用數據庫中的表格將它設置爲一個'保留'用戶名一段時間,但它真的值得嗎? – Matt

+0

插入前檢查username.If用戶之一,然後向第二個用戶顯示消息,它已被使用嘗試其他一個 –

+0

@Matt是啊,值得it.else它將返回完整性約束錯誤:key.i重複條目不能重定向到任何其他頁面如果此錯誤occure.so正確的數據流require.right? – fighter

回答

0

您需要檢查每個按鍵的用戶名。所以當有人開始輸入用戶名時,在每個關鍵筆畫上,您需要檢查用戶名可用性(使用ajax)。按鍵事件,您可以使用jQuery的.keypress()獲得。

這裏可能會出現一個問題,如果在提交表單之前某個其他用戶提交了相同的用戶名。爲了克服這個問題,你需要重新檢查表單提交的用戶名可用性,如果在那個時候用戶名不可用,只需提供已經選擇的用戶名的消息,請輸入另一個。