我有变量 $_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,在这些页面上它不起作用 - 它总是显示'注册”选项,就像用户未登录一样。
请注意,导航菜单位于一个单独的文件中,该文件使用“包含”包含在页面中。如果我在页面的其他地方回显会话变量,它工作正常 - 它只是在包含的文件中不起作用。