PHP Session 重定向到另一个页面后变量为空

PHP Session variable is empty after redirecting to another page

我正在创建 PHP session、用户名和所有内容,但是当我使用 header(foo.php) 重定向时,$_SESSION 变量显示为空,即使在使用 var_dump.

检查时在重定向之前它显示正确填充

首先我创建 session:

   $_SESSION['loggedin'] = true;
   $_SESSION['username'] = $username;
   $_SESSION['start'] = time();
    $_SESSION['expire'] = $_SESSION['start'] + (5 * 60);
   echo "Bienvenido! " . $_SESSION['username'];

   header('location:login-success.php');
   exit();

在下一页我从页面顶部开始 session,上面没有 HTML,什么都没有:

<?php
    session_start();
    if(!isset($_SESSION['username'])){
        echo "nope";
    }
?>

输出总是"nope"。我在我的本地主机和远程主机上试过,几个浏览器,启用了 cookie。现在检查 var_dump 时 $_SESSION 显示为空。

session_start(); 在您要以任何方式处理 SESSION 的每个页面上都需要(创建、更新、删除)。

所以将它添加到您的第一页,如下所示:-

<?php
  session_start();
  $_SESSION['loggedin'] = true;
  $_SESSION['username'] = $username;
  $_SESSION['start'] = time();
  $_SESSION['expire'] = $_SESSION['start'] + (5 * 60);
  echo "Bienvenido! " . $_SESSION['username'];

  header('location:login-success.php');
  exit();