这是代码 尽管在控制台中进行调试,但我无法将消息作为成功登录获取,而是直接使用用户名&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);
?>
答案 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."');