【问题标题】:PHP Session variables dissapear with header redirectPHP 会话变量随着标头重定向而消失
【发布时间】:2012-12-17 10:25:30
【问题描述】:

当我登录用户并使用标头重定向时,我的会话变量为空。

/* Login page */
session_register("myusername");
session_register("mypassword");

$_SESSION['myusername'] = $_POST['myusername'];

header("location:page.php");

/* page.php */

<?php echo $_SESSION[myusername]; ?>

【问题讨论】:

  • session_register 函数自 PHP 5.3.0 起已弃用,自 PHP 5.4.0 起已移除。
  • 你需要在每一页上session_start()!包括您注册会话的页面。

标签: php session


【解决方案1】:

当你使用 $_SESSION 超全局数组并且你没有开始你的会话时,你不应该使用 session_register 函数。试试

/* Login page */
session_start();

$_SESSION['myusername'] = $_POST['myusername'];

header("location:page.php");

/* page.php */

session_start();

<?php echo $_SESSION[myusername]; ?>

【讨论】:

    【解决方案2】:

    尝试在页面的开头使用session_start();..

    【讨论】:

      【解决方案3】:

      您忘记在页面顶部添加session_start();

      【讨论】:

        【解决方案4】:

        添加一个

        session_start() 
        

        首先!

        【讨论】:

          【解决方案5】:

          您是否在脚本页面的开头添加了session_start() 调用?这是我所知道的 php 会话中最常见的问题。

          【讨论】:

            猜你喜欢
            • 2012-07-08
            • 1970-01-01
            • 1970-01-01
            • 2014-01-04
            • 2014-08-14
            • 1970-01-01
            • 1970-01-01
            • 2012-01-15
            相关资源
            最近更新 更多