这是代码尽管在控制台中进行了调试,但我无法获得成功登录的消息,而直接使用username&密码在浏览器中直接工作是完美的
我得到的输出是"登录信息不正确。请重试"。
<!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);
?>
更新答案:
<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>
请使用此更新的代码,确保正确传递url。我希望这会有所帮助。
在您的PHP文件中,看起来您正试图获得一个完全为$Username
的用户名。您需要将它连接起来,以获得变量而不是字符串本身。
$result = mysqli_query($con,"SELECT Password from Use_Pass WHERE Username='".$Username."');