Php if-else语句总是返回相同的值

Php if-else语句总是返回相同的值,php,if-statement,Php,If Statement,我对PHP和ajax很陌生 Ajax返回数据==确定或数据==否取决于数据库中的电子邮件 但if-else块总是返回相同的值。它总是打印最后一个块,就像电子邮件可用一样!我找不到错误 $.ajax({ type: 'post', url: 'check_email.php', data: {email:email,}, success: callback});} functio

我对PHP和ajax很陌生

Ajax返回数据==确定或数据==否取决于数据库中的电子邮件 但if-else块总是返回相同的值。它总是打印最后一个块,就像电子邮件可用一样!我找不到错误

$.ajax({
            type: 'post',
            url: 'check_email.php',
            data: {email:email,},
            success: callback});}
            function callback(data){                
                email_error = false;    
                $("#email_error").css("display","block");
            if(data =="OK"){
                $("#email_error").html("Email was already used!");
                $("#email_error").css("color","#990000");               
                $("#email_error").show();
                email_error = true; 
            }else{
                $("#email_error").html("Email is available!");
                $("#email_error").css("color","#F1F0D1");
                $("#email_error").show();
                email_error = false;
                }           
            }
阿贾克斯

html

php


我在中得到了一个简单的解决方案,只是我用\r\nOK更改了OK


您是否尝试使用console.logdata检查值?谢谢,是的,我根据php返回值检查了它是否返回OK。但在if-else语句中,它总是打印最后一个块。我们需要查看您的check_email.php脚本。ifisset$_POST['email']{$email=$\u POST['email']$sql=选择来自用户的电子邮件,其中email='$email';$query=mysqli_query$con,$sql;如果mysqli_num_rows$query>0{echo OK;}否则{echo NO;}exit;}请附加console.logdata的结果好吗?你说可以或不可以,但这并没有发生。请将console.log结果粘贴到这里。有两件事一是语法错误,有时还完全给出所有条件,即使其他条件有帮助。。。它不应该,但在php中关闭标记后有时会留下空格?>也会导致此问题。$.ajax{type:'post',url:'check_email.php',数据:{email:email,},success:callback};}函数callbackdata{email\u error=false;$email\u error.cssdisplay,block;ifdata==OK{$email\u error.htmlEmail已被使用!;$email\u error.csscolor,990000;$email\u error.show;email\u error=true;}否则ifdata==NO{$email_error.htmlEmail可用!;$email_error.csscolor,F1F0D1;$email_error.show;email_error=false;}}}check_email.php ifisset$_POST['email']{$email=$_POST['email'];$sql=从email='$email'.$query mysqli_query$con,$sql;ifmysqli_num rows$query>0{echo OK;}其他{echo NO;}退出;}HTLM电子邮件:我已回滚了您的编辑,删除了指向您查找信息的链接。对您查找信息的位置给予赞扬是堆栈溢出的一部分。不这样做,视情况而定,会导致各种负面事件发生。如果您这样做,人们会更加尊重您诚实地说明您使用的解决方案来自何处。
var email = "example@example.com";

$.ajax(
{
    type: 'post',
    url: 'check_email.php',
    data:
    {
        email: email,
    },
    success: callback
});


function callback(data)
{
    email_error = false;
    $("#email_error").css("display", "block");
    if (data == "OK")
    {
        $("#email_error").html("Email was already used!");
        $("#email_error").css("color", "#990000");
        $("#email_error").show();
        email_error = true;
    }
    else if(data =="NO")
    {
        $("#email_error").html("Email is available!");
        $("#email_error").css("color", "#F1F0D1");
        $("#email_error").show();
        email_error = false;
    }
}
<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">

    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="check_email.js"></script>


    <title></title>
</head>
<body>

<div id="email_error">

</body>
</html>
<?php
echo "NO";

?>
 $.ajax({
            type: 'post',
            url: 'check_email.php',
            data: {email:email,},
            success: callback});}
            function callback(data){
                email_error = false;    
                $("#email_error").css("display","block");
            if(data =="\r\nOK"){
                $("#email_error").html("Email was already used!");
                $("#email_error").css("color","#990000");               
                $("#email_error").show();
                email_error = true; 
            }else{
                $("#email_error").html("Email is available!");
                $("#email_error").css("color","#F1F0D1");
                $("#email_error").show();
                email_error = false;
                }           
            }