Php Ajax表单插件HTML响应始终返回错误消息,mysql响应为true

Php Ajax表单插件HTML响应始终返回错误消息,mysql响应为true,php,jquery,mysql,ajax,ajax-forms,Php,Jquery,Mysql,Ajax,Ajax Forms,我正在使用PHP和Jquery表单插件创建一个登录脚本来处理登录表单。它使用这个插件来处理PHP脚本中的值,以检查cridentials。PHP回显“true”或“false”,Jquery处理错误消息或重定向到仪表板。 以下是我的Jquery: <script> $(document).ready(function() { // bind 'myForm' and provide a simple callback function $('#loginform').ajaxF

我正在使用PHP和Jquery表单插件创建一个登录脚本来处理登录表单。它使用这个插件来处理PHP脚本中的值,以检查cridentials。PHP回显“true”或“false”,Jquery处理错误消息或重定向到仪表板。 以下是我的Jquery:

<script> 
$(document).ready(function() { 
// bind 'myForm' and provide a simple callback function 
$('#loginform').ajaxForm(function(html) { 
    success:{
        if(html == 'true'){
            window.location = "dashboard.php";
        } else if (html == 'false') {
            $(".errormsg").show();
            $(".errormsg").css({
                background: "#fc4452", 
                border: "1px solid #ff0000", 
            });                        
            $('.errormsg').html('E-mail adres of wachtwoord onjuist');
        } else {
            $(".errormsg").show();
            $(".errormsg").css({
                background: "#fc4452", 
                border: "1px solid #ff0000", 
            });                        
            $(".errormsg").html('Er ging iets mis bij het inloggen');
        }
    }
}); 
}); 
正如您所看到的,它回显true或false,由ajax脚本中的html函数读取,然后显示消息或执行重定向

问题是,它目前没有这样做。它总是在“else”语句中显示错误消息。上面写着:“出了问题”,即使输入了正确的凭证

我在没有jquery的情况下测试了我的PHP,我知道它根据凭证返回“true”或“false”。没有更多,没有空白或其他东西

为了排除故障,我还在下面编写了一段简单的PHP代码,它的功能与上面的PHP相同,但不使用数据库。 奇怪的是,当我使用下面的PHP时……我的jQuery工作正常,当密码或用户名错误时,它会显示一条消息,并显示相应的消息,密码为“1”和“123”

这是因为mysql查询还是我遗漏了什么? 提前谢谢

PHP测试脚本

$email = $_POST['email'];
$password = $_POST['password'];
    if($email=="john@doe.com" && $password == "123"){ 
      session_start();
      $_SESSION['email'] = $email;
      echo "true";
    } else {
      echo "false";
    }

我发现了这个问题,在我的第一个PHP文件中,经过仔细检查,我包含了文件“mysql_connect.PHP”,这导致了PHP响应中的额外内容。我通过从我的“mysql\u connect”文件中删除此代码来解决此问题。

请不要使用此代码,它在登录、密码哈希、数据库请求等方面都做得不对!你会在不到一秒钟的时间内侵入!这个问题是关于jQuery的,没有任何东西会被黑客攻击,稍后我将使用salts和bCrypt添加另一个安全层。这只是为了测试,你看了一下你的浏览器控制台,看看返回了什么?可能返回的不仅仅是“true”或“false”(仅包括空格),这可能会导致它无法发送给elseblock@Sean是的,我已经检查了控制台的错误等,但它是完全空的。我不明白为什么不用数据库它就能正常工作。另一件奇怪的事情是,当我在字段中保留凭据并刷新页面时,它确实正确地让我登录。
$email = $_POST['email'];
$password = $_POST['password'];
    if($email=="john@doe.com" && $password == "123"){ 
      session_start();
      $_SESSION['email'] = $email;
      echo "true";
    } else {
      echo "false";
    }