次のように、ナビゲーション メニューに 2 つのパスを設定します。
<?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
}
}
上記の処理では、要求された URL に $_SERVER 配列が使用されます。ユーザー セッションがアクティブで、ユーザーが配列内の前述のフィールドに移動しようとすると、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
」という名前の下の最後のチャンクを使用します