我在php响应ajax调用时得到一个数组而不是文本

时间:2016-10-03 04:07:58

标签: php jquery ajax

PHP

if(!empty($un) && !empty($psw)){
$query=mysqli_query($bd,"SELECT * FROM user WHERE (username='$un' OR email='$un') AND password='$psw'");
$exist=mysqli_num_rows($query);
if($exist==1){
    session_start();
    $_SESSION['username_in']=$un;
    echo("yes");
}else{echo("no");}

jquery的

$("#sub").click(function(){
    $("#spinner").show();
    $.ajax({
        url:"ajax/checkuser.php",
        data:{'username':$("#usr").val(),'&passw':$("#pass").val()},
        type:"POST",

        success:function(data){
            if(data=="no"){alert(data);
            $("#spinner").hide();
            $("#check").html("verifiez");

            }else{alert(data);}
        },
        error:function(){}
    });

});

我的问题是:如何从php获得特定的响应?我希望数据返回“是”或“否”而不是数组

image

我发现了错误

如果您仔细阅读图片中警报消息中的内容,您会发现我有一个未定义的值($ bd),因为它必须是$ db(我在包含的文件中使用的变量)这个php文件)

2 个答案:

答案 0 :(得分:0)

使用:

<?php
if(iset($_POST['username')){
//your code above
}else{
?>
here is the other parts of the php file.
<?php } ?>

看来你正在写一个里面的东西一个有其他代码的php文件。因此,您需要使用我上面编写的代码来摆脱它。当你使用那段代码时,你的php的其他部分将不会被回应,所以一切都好。

答案 1 :(得分:0)

if (isset($_POST['username']) && isset($_POST['&passw'])) {
    $query = mysqli_query($bd, "SELECT * FROM user WHERE (username='" . $_POST['username'] . "' OR email='" . $_POST['username'] . "') AND password='" . $_POST['&passw'] . "'");
    $exist = mysqli_num_rows($query);
    if ($exist == 1) {
        session_start();
        $_SESSION['username_in'] = $_POST['username'];
        echo("yes");
    } else {
        echo("no");
    }
    exit;
}