PHP会话变量不起作用

时间:2014-04-03 23:36:42

标签: php session variables

我的网站有一个目标网页,其中显示了每个大陆都有悬停链接的世界地图。点击它有一个像这样的A HREF链接:

<a href="setsession.php?c=AU">Australia</a>

setsession.php只包含这个:

<?php
    session_start();

    $_SESSION['SelectedCountry'] = htmlspecialchars($_GET["c"]);

    header("location:test/index.php");
?>

和test / index.php包含:

<?php
    session_start();
    echo $_SESSION['SelectedCountry'];
?>

所以我无法弄清楚为什么test / index.php只显示一个空白页?

1 个答案:

答案 0 :(得分:1)

设法解决了这个问题,并且可以对其他任何人有用。

使用会话变量时,它必须全部位于一个域中。

由于我的域名设置,/ test / index.php位于同一主机上但位于不同的域上(但仍然是与setsession.php和我的初始目标网页相关的子文件夹)。

test / index.php显示在与其他两个文件不同的域上。所以landing.php在同一个域上转发到setsession.php,并且setsession.php转发到另一个域上的test / index.php。那就是它破裂的地方。

所以现在 - 我已经将landing.php转发到setsession.php,它现在位于第二个域 - 所以来自setsession.php并转到test / index.php的变量位于同一个域中。

问题解决了:))