#javascript #php #jquery #mysql #ajax
#javascript #php #jquery #mysql #ajax
Вопрос:
Я пытаюсь использовать jQuery, AJAX, PHP и MySQL, чтобы проверить, существует ли электронное письмо, введенное в форму, в базе данных. Это мой текущий код jQuery :
$.post('check-email.php', {'suEmail' : $suEmail}, function(data) {
if(data=='exists') {
validForm = false;
$suRememberMeCheckbox.css('top', '70px');
$suRememberMeText.css('top', '68px');
$signUpSubmit.css('top', '102px');
$tosppText.css('top', '115px');
$suBox.css('height', '405px');
$suBox.css('top', '36%');
$errorText.text('The email has been taken.');
return false;
};
});
И это мой PHP-код:
<?php include("dbconnect.php") ?>
<?php
$sql = "SELECT email FROM users WHERE email = '" .$_POST['suEmail'] . "'";
$select = mysqli_query($connection, $sql);
if (mysqli_num_rows($select) > 0) {
echo "exists";
}
?>
Когда я просматриваю форму регистрации, когда я использую электронное письмо, уже имеющееся в базе данных, текст ошибки никогда не меняется на то, что я указал, а вместо этого на некоторые другие случаи ошибок, которые я закодировал. Почему это не работает! Большое спасибо!
Комментарии:
1. В чем ошибки?
2. Какую ошибку она показывает?
3. Поставьте оповещение или консоль. войдите и проверьте значение «данные»
4. Хорошо, я только что добавил консоль. регистрируйте значение данных. Когда я меняю echo на что-то другое, кроме «exists», например «exist», он регистрирует «exist» на консоли. Однако, когда я сохраняю echo как «существует», на консоль ничего не записывается. Большое спасибо!
5. Вы изменили
exists
код jquery, когда изменили значениеexists
toexist
в php? Действительно ли необходимо использовать точку с запятой после};
в jqueryif statement
?
Ответ №1:
В ответе могут быть дополнительные пробелы
Попробуйте:
if(data.trim()=='exists') {
Комментарии:
1. Я только что добавил, что, однако, форма по-прежнему переходит на страницу успеха вместо отображения ошибки. Большое спасибо!
2. обратите внимание, что вы не можете использовать
return false;
в этом обратном вызове, чтобы предотвратить отправку формы, если это то, что вы делаете. Ajax является асинхронным