无法使用ajax在网页中成功登录

时间:2015-03-18 04:57:20

标签: javascript php ajax

这是代码 尽管在控制台中进行调试,但我无法将消息作为成功登录获取,而是直接使用用户名&amp ;;进入php链接。浏览器中的密码直接正常运行

我得到的输出是"不正确的登录信息。请再试一次"。

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<script src="/_js/jquery-2.1.3.min.js"></script>
<script>
$(document).ready(function() {
$('#login').submit(function() {
var formData = $(this).serialize();
$.post('login.php',formData,processData).error('ouch');
function processData(data) {
      console.log(data==='pass');
    if (data==='pass') {
       $('.main').html('<p>You have successfully logged in!</p>');
    } else {
       if ($('#fail').length === 0) {
         $('#formwrapper').prepend('<p id="fail">Incorrect login information. Please try again</p>');
      }
    }
  } // end processData
return false;
  }); // end submit

}); // end ready
</script>
</head>
<body>
<div class="wrapper">
<div class="header">
    <p class="logo">Demo LOGIn</p>
</div>
  <div id="content">
    <div class="main">
        <h1>Login</h1>
        <div id="formwrapper">
        <form method="POST" action="../_php/login.php" id="login">
<p>
    <label for="Username">Username:</label>
    <input type="text" name="Username" id="Username">
</p>
<p>
    <label for="Password">Password: </label>
    <input type="text" name="Password" id="Password">
</p>
<p>
    <input type="submit" name="button" id="button" value="Submit" >
 </p>
 </form>
 </div>
    </div>
 </div>

 </div>
 </body>
 </html>

这里是php文件       

 $Username = mysqli_real_escape_string($con,$_POST['Password']);
 $Password = mysqli_real_escape_string($con,$_POST['Username']);

$result = mysqli_query($con,"SELECT Password from Use_Pass WHERE     Username='$Username'");
 $count=mysqli_num_rows($result);
 $row=mysqli_fetch_array($result,MYSQLI_ASSOC);
 // If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
echo 'pass';
}
else {
echo 'fail';
}


mysqli_close($con); 
?>  

2 个答案:

答案 0 :(得分:1)

更新回答:

<script>
$(document).ready(function()
 {
 $('#login').submit(function()
  {
    var formData = $(this).serialize();
    $.post('login.php', $("#login").serialize(), function(response)
      {

        if ($.trim(response) == 'pass') {
          $('.main').html('<p>You have successfully logged in!</p>');
        } else {
          if ($('#fail').length === 0) {
            $('#formwrapper').prepend('<p id="fail">Incorrect login information. Please try again</p>');
          }
        }

      }
    );
  }
 ); // end submit

  }
); // end ready
</script>

请使用此更新的代码,确保正确传递网址。我希望这会有所帮助。

答案 1 :(得分:0)

在您的PHP文件中,您似乎正在尝试获得完全$Username的用户名。你需要连接它来获取变量而不是字符串本身。

$result = mysqli_query($con,"SELECT Password from Use_Pass WHERE Username='".$Username."');