Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不工作:Jquery Ajax成功数据与PHP返回变量_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 为什么不工作:Jquery Ajax成功数据与PHP返回变量

Javascript 为什么不工作:Jquery Ajax成功数据与PHP返回变量,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我正在尝试创建一个Ajax函数,该函数根据PHP返回的var做出决策。我遇到的主要问题是,当我将返回变量打印到html类时,返回变量将正确显示,但是ajax中的决策仍然会产生相同的false结果 以下是PHP表单: <form class="LogInForm" method="post" action="Auth.php" > <div class="form-group"> <input type="email" class="form-

我正在尝试创建一个Ajax函数,该函数根据PHP返回的var做出决策。我遇到的主要问题是,当我将返回变量打印到html类时,返回变量将正确显示,但是ajax中的决策仍然会产生相同的false结果

以下是PHP表单:

<form class="LogInForm" method="post" action="Auth.php" >
    <div class="form-group">
        <input type="email" class="form-control" name="email" placeholder="Email Address" value="<?php echo $_SESSION['email'];?>">
    </div>
    <div class="form-group">
        <input type="password" class="form-control" name="pw" placeholder="password">
    </div>                          
    <button type="submit" class="btn btn-default btn-block">Submit</button>
PHP函数:

function Auth()
    {
        //start session and compture login info
        $pass = md5($_POST['pw']);
        $user = $_POST['email'];

        //connect to DB
        $conn = Connect();

        //Select all queries
        $select = "SELECT Email, Password FROM customers WHERE Email ='".$user."' AND Password = '".$pass."'";
        $results = $conn->query($select);

        //search in db for user and passwrod, also store quires in var to store in sessions.
        if ($results->num_rows > 0) {
            $bool = true;               
        }
        else{
            $bool= false;
        }
        echo $bool;
    }
如果我没有输入正确的密码,则会发生什么情况?如果警报为False,则在提交按钮下告诉我数据是什么,该按钮为空。当我输入正确的密码时,它仍然会提示我False,但数据在提交按钮下显示为1

还要注意,当我绕过Ajax函数时,PHP函数可以正常工作

更新
我能让它工作。我所做的只是将php文件Auth.php移动到另一个目录,它似乎解决了这个问题。我知道这不是文件路径问题。我感谢大家抽出时间,感谢你们回答我的问题,并为我指出了安全漏洞的正确方向

如果值的类型不同,则Javascript==为false。我怀疑通过AJAX返回的值被读取为字符串1,而不是整数1或布尔值TRUE。尝试将比较更改为:

if(data == '1')...
我已经测试过了,它工作正常


将ajax url设置为var desinion=$”.RemoveProd.prop'action',具有RemoveProd类的元素在哪里?如果没有这样的元素,那么您没有将url传递给ajax…是否尝试将响应作为字符串进行比较?ifdata=='1'侧注:$pass=md5$_POST['pw'];这不是进行密码验证的好方法。签出密码\u验证和密码\u hashSide注意:此->$select=选择电子邮件,来自客户的密码,其中电子邮件=“..$user.”和密码=“..$pass.”;正在等待sql注入。查看绑定参数/值。此方法严重暴露于。你应该考虑使用
if(data == '1')...
$('.LogInForm').on('submit', function(e){
    var values = $(this).serialize();
    // get value of action attribute
    var desination = $('.RemoveProd').prop('action');
    // get current location url

    // prevent page from leaving to desination
    e.preventDefault();

    $.ajax({
        url: desination,
        type: 'post',
        data: values,
        success: function(data){

            //remember the returned value is a type string if not changed or maybe it a raw integer from php
            if(parseInt(data.trim().replace(/\D*/g,'')) == 1){
                alert("True");
                $('.Test').html(data);
            }
            else{
                alert("False");
                $('.Test').html(data);
            }
        },
        error: function(e){
            //check the logged error for more details
            console.log(e)
        }
    });

});