【问题标题】:Unable to get session varibale after redirect to another domain重定向到另一个域后无法获取会话变量
【发布时间】:2015-11-18 20:09:30
【问题描述】:

我在一个页面上创建了会话,但无法在另一个页面上获取这些会话,我如何才能在另一个页面上获取会话。

page1.php

$_SESSION['access_token']        = "token";
$_SESSION['access_secret']       = "secret";
$_SESSION['session_handle']      = "handle";
header("Location: mydomain/page2.php");

page2.php

session_start();
if(isset($_SESSION['access_token'])) {
     echo $_SESSION['access_token'];
} else {
    echo "";
}

我已经尝试过相同域或不同域的上述代码。

【问题讨论】:

  • 如果“一页”和“另一页”确实在不同的域中,那么您无法访问同一个会话。会话是特定于主机的。您必须交出重定向中的所有会话详细信息并从中创建一个新会话。不完全是一个方便的解决方案。

标签: php session cross-domain session-variables session-cookies


【解决方案1】:

尝试将session_start();in page1.php(在第一行)。如果域不同将不起作用

【讨论】:

    【解决方案2】:

    如果第一页和第二页位于不同的域中,则无法完成,因为会话存储在服务器上。您无法将其从一个域传递到另一个域。

    否则,如果两个页面都在同一台服务器上,那么可能是因为您没有在第一页启动会话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2014-03-18
      • 2023-03-29
      • 2010-12-24
      相关资源
      最近更新 更多