HTML - 运行不同输出的两段相同代码?

时间:2017-01-04 13:54:22

标签: php html

请注意:我正在搞乱HTML / CSS / PHP和MySQL。我还没有考虑安全性。

我有2个文件,第一个名为page1.php,第二个名为page2.php。非常简单,它们都有一个 navbar ,里面有一些PHP代码:

if (isset($_SESSION["loggedin"])){
    echo "<li class='navbar-button' id='right-status'><a>Logged in as admin</a></li>\n";
    echo "<li class='navbar-button' id='right-change'><a href='logout.php'>Log Out</a></li>\n";
} else {
    echo "<li class='navbar-button' id='right-change'><a href='login.html'>Log In</a></li>";
}

它检查是否存在名为“loggedin”的当前会话数据,如果是,则在导航栏上显示“以管理员身份登录 - 注销”。如果找不到此会话数据,则会在导航栏上显示“登录”。当我加载page1.php时,在导航栏上显示“以管理员身份登录 - 注销”,但是当我加载page2.php时,它会显示“登录”。这两者都有相同的代码,而i 我不确定他们为什么会产生不同的结果。我不确定它是否相关,但是page2.php没有存储在与page1.php相同的文件夹中。 Page1.php的目录是/page1.php。 Page2.php的目录是/folder/page2.php。

问题1:PHP会话是否将数据全局存储在整个网站的每个文件/文件夹中?或者只是在根文件夹中?

问题2:为什么我的代码会给出不同的答案?

感谢您提前抽出时间。

:)

修改

抱歉忘了提及,page2.php是用PHP计算机生成的。

1 个答案:

答案 0 :(得分:0)

事实证明我忘了在我的page2.php(计算机生成的)中启动会话,因为它非常复杂,我必须跳过它。感谢RossWilson指出的。