Пожалуйста, наберитесь терпения, потому что я знаю, что на этот вопрос можно было ответить, но я не смог его найти.Я работал над проектом, и в последнее время я только начал использовать AJAX.
Мой JSON исходит из PHP, который включает ошибки и успех, теперь вопрос заключается в том, как получить доступ к успеху (если регистрация прошла успешно,отображать как текст (не предупреждение)) и отображать ошибки при сбое регистрации.
Какие условия следует использовать?
<div class="remodal" data-remodal-id="RegisterModal">
<div class="popup-1">
<div class="popup-content" id="register_container">
<div id="register_title" class="popup-title text-purple">Sign Up</div>
<div class="reg-notification">
<p>You Successfully registered to our website and now you can login and use our services</p>
<a href="feed.php" class="popup-link">Continue</a>
</div>
<div id="json"></div>
<form id="register-form" action="register.php" method="POST">
<div class="form-grp">
<!--<label>Username</label>-->
<input type="text" id="username" name="username" placeholder="Username">
</div>
<div class="form-grp">
<input type="email" name="register_email" id="register_email" placeholder="Email">
</div>
<div class="form-grp">
<input type="password" id="register_password" name="register_password" placeholder="Password">
</div>
<div class="form-grp">
<input type="password" id="confirm_password" name="confirm_password" placeholder="Retype Password">
</div>
<div class="btn-grp">
<button type="submit" name="submit" class="button-purple" id="do_register">Sign Up</button>
<button class="button-white" style="margin-left: 30px;" data-remodal-target="LoginModal">Login to access</button>
</div>
</form>
</div>
Это мой PHP ниже
if (strlen($password) >= 8 && strlen($password) <= 60) {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$account->addUser($username, $password, $email);
if ($account->userExist()) {
$message['email'] = "Email Address Is Already Registered!";
} else {
$account->create();
$message['type'] = "success";
}
} else {
$message = 'Invalid email!, Please enter a valid Email';
}
header('Content-Type: application/json');
$response = ['message' => $message];
echo json_encode($response);
// echo json_encode($message);
//echo $message;
и это мой AJAX
$.ajax({
type: 'POST',
url: 'register.php',
dataType: 'json',
data: formData,
success: function (data) {
$("#json").html(data["message"]);
//response = response.slice(0, -1);
//response = JSON.parse(response);
//var json = JSON.parse(response);
//var resdata = response;
//var json = $.parseJSON(response);
//if (resdata) {
//alert(resdata['success']);
//alert(json['success']);
// $("#register-form").addClass("remove-form");
// $("#register_container").addClass("register-container-active");
// $("#register_title").html("Register was Successful");
// $(".reg-notification").addClass("show-reg-notification");
//}else if (resdata['email']) {
//alert(resdata['email']);
//}
//alert(json['email']);
//$("#msg").html(json.email);
//}
console.log(response);
},
error:function(error){
console.log(error);
}
});
Поскольку вы можете видеть, что все прокомментированные мной коды являются ошибочными кодами, мне нравится отображать сообщение от PHP в моем #json ID.
Что якак сделать, это получить код «success», закодированный из PHP в мой HTML через AJAX, если регистрация пользователя прошла успешно, также вывести ошибку «email», если пользователь существует.
Я понятия не имею, какое условие использовать в AJAX для проверки этого или как это сделать, и я знаю, что это будет что-то простое.
Но я могу оказаться в голове, чтобы понять это ... как я продолжаю смотреть: (