[英]Ajax PHP Response login
我正在尝试通过login.php
和我的login.js
和logindata.php
做出响应,但是我似乎总是收到错误消息Something went wrong! Try again.
Something went wrong! Try again.
(我在login.js
的自定义消息),即使我输入了正确的登录详细信息
login.php
<form name="loginform" id="loginform" autocomplete="off">
<div class="form-group">
<input type="text" name="username" maxlength="12" class="form-control" placeholder="Username" id="username" required/>
</div>
<div class="form-group">
<input type="password" name="password" maxlength="12" class="form-control" placeholder="Password" id="password" required/>
</div>
<input id="login" type="submit" class="btn btn-primary btn-block" value="Login"/>
<a href="/register" class="btn btn-info btn-block">Register</a>
</form>
login.js
$(function () {
var action = '';
var form_data = '';
$('#login').click(function () {
action = $("#loginform").attr("action");
form_data = {
username: $("#username").val(),
password: $("#password").val(),
is_ajax: '1'
};
$('#login').keypress(function (e) {
if (e.which == 13) { //Enter key pressed
$('#login').click();
}
});
$.ajax({
type: 'POST',
url: 'logindata.php',
data: form_data,
success: function (response) {
if (response == 'success') {
$("#loginform").slideUp('slow', function () {
$("#message").html('<script>location.reload();</script><div class=\"alert alert-success\">Logged in. Reloading...</div>');
});
} else {
$('#message').hide().html("<br/><div class=\"alert alert-danger\">Something went wrong! Try again.</div>").fadeIn('fast');
}
console.log(response);
}
});
return false;
});
});
logindata.php
<?php
if(!isset($_SESSION['uid'])){
header("Location: /home")
}
if (!isset($_POST['submit'])){
header("Location: /home")
} else {
$mysqli = new mysqli("localhost","root","root","maplexeno");
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * from accounts WHERE username LIKE '{$username}' AND password LIKE '{$password}' LIMIT 1";
$result = $mysqli->query($sql);
if (!$result->num_rows == 1) {
$_SESSION['uid'] = $username;
echo "success";
} else {
echo "false";
}
session_start();
}
?>
您可能会在日志中收到标头输出或session_start()
错误。 您必须将session_start()
放在logindata.php
脚本的最顶部, logindata.php
<?php
,然后再进行其他操作。
<?php
session_start();
// rest of your code...
您可以尝试在login.js中执行以下操作,以查看正在生成什么PHP错误,而不必转到日志文件。
success: function (response) {
alert(response);
如果不是session_start()
这应该可以帮助您session_start()
问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.