我在使用jQuery的驗證插件一些奇怪的問題。這似乎被問了幾次,但我找不到我的問題的答案。我有一個形式,而我想看看是否電子郵件已經進入了 - 如果有,用戶不應該能夠提交表單。我正在使用FirePHP輸出各種變量。這是我注意到我的查詢返回值總是「1」(這是錯誤的)。但是,當我手動查詢我的數據庫(使用PhpMyAdmin),正確答案(「0」)出現。jQuery驗證和驗證插件
這裏是我的JS:
// validate signup form on keyup and submit
$("#register").validate({
rules: {
......
email: {
required: true,
email: true,
remote: "check_email.php" , async:false
},
},
messages: {
......
email: {required: "Please enter an email address", email: "Please enter a valid email address", remote: "This email is already registered" },
}
}
});
});
這裏是數據庫連接的東西后,我的PHP ...
$form_email = $_GET['email'];
fb($form_email);
$sql = "SELECT COUNT(*) AS num_rows FROM users WHERE email = " . "'" . $form_email . "'";
fb($sql);
$result = $conn->query($sql);
fb($result->num_rows);
if ($result->num_rows == 0) {
echo 'true';
fb("true");
} else {
echo 'false';
fb("false");
}
計數始終返回「1」,甚至當我輸入一個電子郵件不存在。
我還試圖返回
echo json_encode('true');
,因爲我讀的地方,可能會奏效,但它並沒有幫助。爲什麼我的迴應總是在我的PHP錯誤?
'async'不是一個規則。檢查你的語法。 – Sparky