0

我有变量 $_SESSION['logged_in'] 在用户登录时设置并在注销过程中取消设置。我在所有页面上都包含一个导航菜单,其中包含以下代码:

<?php
    if(isset($_SESSION['logged_in'])){
    ?>
    <li><a href="http://absoluteurl/mylists.php">My Lists</a></li>
        <li><a href="http://absoluteurl/list/logout.php">Sign Out</a></li>
    <?php
    }
    else{
    ?>
        <li><a href="http://absoluteurl/list/register.php">Sign Up</a></li>
    <?php
    }
    ?>

现在,在大多数页面上这工作正常 - 它根据用户是否登录显示正确的导航项。但是我有一些页面为 SEO 重写了 URL,在这些页面上它不起作用 - 它总是显示'注册”选项,就像用户未登录一样。

请注意,导航菜单位于一个单独的文件中,该文件使用“包含”包含在页面中。如果我在页面的其他地方回显会话变量,它工作正常 - 它只是在包含的文件中不起作用。

4

1 回答 1

1

你确定你session_start()在包括菜单之前打电话吗?(当然,在 include 中进行该调用会是击球手)

于 2012-07-30T11:52:44.773 回答