您想在导航菜单上设置两条路径,如下所示:
<?php
if (isset($_SESSION['username']))
{
?>
<a href="loggedinpage.php">PageName</a>
<?php
}
elseif (!isset($_SESSION['username']))
{
?>
<a href="login.php">Login</a>
<a href="bla.php">Page</a>
<?php
}
?>
因此,取决于是否设置了 $_SESSION[] .. 将显示不同的锚点。
回复评论
尝试使用受限文件创建一个数组。示例:
if (isset($_SESSION))
{
$Restrictions = array ("login.php", "index.php", "register.php");
if (in_array($_SERVER['REQUEST_URI'], $Restrictions ))
{
die ("You Must Login To View These Pages!"); //I use die and an include in my scripts, but this will be called when the user is navigating to a page such as login.php when they already have an active session
}
}
以上将使用 $_SERVER 数组作为请求的 URL,如果用户会话处于活动状态并且用户尝试导航到数组中的所述字段,则会向他们显示一条die
消息。当然,这可以根据您的需要进行更改。您也可以使用相同的块做类似的事情,通过限制未登录的用户;从查看您需要登录的页面。
对于重定向
在你的 index.php 上,你可以有这样的东西:
if (isset($_SESSION))
{
header("Location: member_area.php");
exit; // exit to stop the rest of your page (index.php for example) from processing.
}
如果用户有活动会话,这会将用户重定向到页面。
看着你的问题;如果处于活动状态,您希望用户被重定向到 member_area $_SESSION
.. 然后使用名为 " 的最后一个块用于重定向