0

$_SESSION出于某种原因,我无法使用-variable从一页到另一页获取一些日期。

在我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;

-functionloginUser确实设置(除其他外)$_SESSION

$user = Leaders::getLogin($_DB, $firstname, $password);
if(!empty($user)) {
    $_SESSION["user"] = $user;
}

并且应该如此,当用户提交带有正确数据的表单时,他将被重定向到../admin/index.php-page。但是,如果我采用var_dump($_SESSION),页面会告诉我这个变量是NULL

我还需要做些什么来确保数据通过使用的页面传输$_SESSION

4

3 回答 3

2

每个页面都需要开始

session_start();

它恢复先前创建的会话

于 2012-10-19T13:26:09.927 回答
1

确保每次重新加载页面时都在某处调用 session_start() ,否则服务器将无法获取会话详细信息。

于 2012-10-19T13:26:29.317 回答
0

调用“ session_start() ;” 在页面上的任何输出之前(甚至在发送任何 Header() 之前)。最好将其放在页面的最顶部。

于 2012-10-19T13:29:03.560 回答