2013-07-22 118 views
0

我正在嘗試使網站將使用registration, login actionsphp字符匹配並允許特殊字符

我正在嘗試在我的localhost。 在此階段,我只爲用戶和登錄操作創建了數據庫。

問題是我在數據庫中設置了我的用戶名「viral4ever」。登錄操作正常,但我可以使用「viral4ever」,「VIRAL4EVER」等全部登錄。我不想在我的系統中。我想檢查我的數據庫中的每個字符登錄,如果它匹配「viral4ever」,那麼它應該讓我進入,而不是與Viral4ever或VIRAL4ever或VIRAL4EVER和所有。

我還希望允許用戶在其用戶名中使用「。」,「_」,「 - 」。所以請幫助我。

我使用MySQL數據庫和登錄並檢查我使用這個功能的用戶...

function user_exists($username){ 
    $username = sanitize($username); 
    return (mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username` = '$username'"), 0) == 1) ? true : false; 
} 


function sanitize($data) { 
    return mysql_real_escape_string($data); 
} 
+0

請發佈實現身份驗證的代碼,否則您的請求沒有意義 – Mangiucugna

回答

1

當你創建一個新的MySQL表,你可以在不同的字符集之間進行選擇。許多名稱中都有「_ci」,意思是「不區分大小寫」。

看起來你需要選擇一個區分大小寫的區域。

+0

它幫助了我很多並且工作。我將用戶名更改爲UTF8_bin。使用完美嗎?現在我需要允許。和 - 用戶名。我已經創建了一個用戶名viral.joshi,但我不能用這個用戶名登錄。 – viral4ever