出于某种原因,我无法使用$_SESSION
- 变量将某个日期从一个页面转到另一个页面。
在我的index.php
页面上是一个用户可以登录的表单
我从(session_start()
文件中的inc_admin.php
)开始:
require_once '../includes/php/inc_admin.php';
if ($_GET['page'] == 'login') {
$action = loginUser($_DB, $_POST['firstname'], $_POST['password']);
}
if(isset($_SESSION["user"])) {
$action .= header('Location: ../admin/index.php');
}
echo $action;
loginUser
- 函数确实设置了$_SESSION
:
$user = Leaders::getLogin($_DB, $firstname, $password);
if(!empty($user)) {
$_SESSION["user"] = $user;
}
并且应该如此,当用户使用正确的数据提交表单时,他将被重定向到../admin/index.php
页面。但是,如果我选择var_dump($_SESSION)
,该页面会告诉我此变量为NULL
。
我还需要做些什么才能确保使用$_SESSION
?
答案 0 :(得分:2)
每个页面都需要以
开头session_start();
它恢复以前创建的会话
答案 1 :(得分:1)
确保每次重新加载页面时都在某处调用session_start(),否则服务器将无法获取会话详细信息。
答案 2 :(得分:0)
调用“ session_start();”在页面上的任何输出之前(甚至在发送任何Header()之前)。最好将它放在页面的最顶层。