У меня есть метод post ajax, который, если успех будет предупреждать, что «аккаунт успешно создан». моя проблема в том, когда она не создана, она должна предупредить, что учетная запись уже существует, но какая проблема она все же предупреждает об этом.Ajax не удалось получить результат не отголоски
код сценария:
$(document).ready(function(){
$("#btn-register").click(function(){
var regaccount = $("#regaccount").val();
var regpass = $("#regpass").val();
if((regaccount == "") || (regpass == "")){
alert("Information required!");
}else {
$.ajax({
type: "POST",
url: "register.php",
data: "regaccount="+regaccount+"®pass="+regpass,
success: function(data){
alert("account successfully created!");
},
error:function(){
alert("account already exists");
}
});
}
$("#regaccount").val('');
$("#regpass").val('');
return false;
});
});
register.php
<?php
include 'function.php';
session_start();
ob_start();
$userid = rand(100000, 999999);
$regaccount = $_POST['regaccount'];
$regpass = $_POST['regpass'];
$regaccount = stripslashes($regaccount);
$regpass = stripcslashes($regpass);
$salt = "dctech2015ABcRXd";
$regpass = md5($regpass) . $salt;
$regpass = sha1($regpass);
$con = new Functions();
$con = $con->db;
$stmt = $con->query("SELECT * FROM users WHERE username = '$regaccount'");
$count = $stmt->rowCount();
if($count != 1){
$con = new Functions();
$con = $con->db;
$status="Offline";
$stmt = $con->prepare("INSERT INTO users(user_id, username, password, status)VALUES(:userid, :account, :password, :status)");
$stmt->bindValue(':userid', $userid);
$stmt->bindValue(':account', $regaccount);
$stmt->bindValue(':password', $regpass);
$stmt->bindValue(':status', $status);
$stmt->execute();
}else{
echo '<script>alert("account name already exists");</script>';
}
ob_end_flush();
?>
Потому что вы не возвращаете никаких ошибок. Вы просто эхо-сообщение в файл register.php ....... alert (data); ......... и проверьте, что произойдет ... Я думаю, что это всегда подпадает под sucessfull –
Ответ на ошибку $ .ajax() 'используется для указания ошибки в ответе заголовка на сервере. Это ** не ** оценивает возврат условного оператора из вашего PHP-скрипта. Вместо этого вы должны возвращать объект json со статусом или что-то, что вы можете условно наблюдать в функции успеха обратного вызова ajax. – Ohgodwhy
Возвращаемое сообщение в соответствии с register.php ..... Я имею в виду, если запись записана, а затем вернется (эхо «успех»), и если запись существует, то верните (эхо »существует) .... затем проверьте в своем javascript то, что попадает под данные и предупреждение на основе данных –