由於某些原因,當用戶輸入全新的用戶名時,會顯示錯誤消息<p>Username unavailable</p>
,並且名稱不會被存儲。我想知道是否有人可以幫助找到我的代碼中的缺陷,所以我可以修復這個錯誤?謝謝PHP和MySQL用戶名驗證和存儲問題
這是PHP代碼。
if($_POST['username'] && trim($_POST['username'])!=='') {
$u = "SELECT *
FROM users
WHERE username = '$username'
AND user_id <> '$user_id'";
$r = mysqli_query ($mysqli, $u) or trigger_error("Query: $u\n<br />MySQL Error: " . mysqli_error($mysqli));
if (mysqli_num_rows($r) == TRUE) {
echo '<p>Username unavailable</p>';
$_POST['username'] = NULL;
} else if(isset($_POST['username']) && mysqli_num_rows($r) == 0 && strlen($_POST['username']) <= 255) {
$username = mysqli_real_escape_string($mysqli, $_POST['username']);
} else if($_POST['username'] && strlen($_POST['username']) >= 256) {
echo '<p>Username can not exceed 255 characters</p>';
}
}
您能否詳細說明您要實現的目標?不是代碼方式,而是目的。 – VolkerK 2010-05-02 09:21:33