我正在尝试通过我的login.js
和logindata.php
通过我的login.php
做出回应,但是我似乎总是收到错误消息Something went wrong! Try again.
(我自己的自定义消息login.js
),即使我写了正确的登录详细信息
登录.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>
登录.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;
});
});
登录数据.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
脚本的最顶端,紧接着<?php
,先于其他任何事情。
<?php
session_start();
// rest of your code...
您可以尝试在登录中执行以下操作.js以查看正在生成哪些 PHP 错误,而无需转到日志文件。
success: function (response) {
alert(response);
如果问题不是session_start()
,这应该可以帮助您跟踪问题