这是我的login.php脚本。
当它运行时,它会转储输入内容的数组(错误2),完全跳过所有内容(我认为)。我完全不知道出了什么问题。
<?php
include('../../content/php/base.php');
// Get data
$user = $_REQUEST['user'];
$pass = $_REQUEST['pass'];
// Encrypt password
include('../../content/php/salt.php');
$pass = crypt($pass,$salt);
// Check database for user / check session
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['user'])) {
header("Location: websiteURL");
} elseif(!empty($user) && !empty($pass)) {
$user = mysqli_real_escape_string($con, $user);
if($result = mysqli_query($con, "SELECT * FROM users WHERE `user`='".$user."' AND `pass`='".$pass."'")) {
$row_cnt = mysqli_num_rows($result);
if($row_cnt == 1) {
$row = mysqli_fetch_array($result);
$email = $row['email'];
$_SESSION['user'] = $user;
$_SESSION['email'] = $email;
$_SESSION['LoggedIn'] = 1;
header("Location: websiteURL");
} else {
echo "Error 1";
die();
}
} else {
echo "<pre>"; // dumps the array onto multiple lines instead of one
print_r($_REQUEST);
echo "</pre>";
echo "Error 2";
die();
}
} else {
echo "Error 3";
die();
}
?>
这是print_r的完整输出($ _ REQUEST); :
Array
(
[user] => username
[pass] => password
[PHPSESSID] => 5958246ece69dfdff197ec46e4771aac
)
Error 2
答案 0 :(得分:1)
尝试使用session_start();在任何包括之前。这可确保服务器会话启动
答案 1 :(得分:1)
您的查询显然失败了
if($result = mysqli_query($con, "SELECT * FROM users WHERE `user`='".$user."' AND `pass`='".$pass."'") {...}
$con
是否为有效连接?
尝试在表名users
周围添加反引号。
你应该做一些错误检查。看看
的输出// You can add this to the Error 2 block (for testing.. not production use)
echo mysqli_error($con);
这会给你一个&#34;的想法&#34;什么出错了,并会帮助别人帮助你。