ログインしているユーザーのログアウトへのログインリンクをナビゲーションバーに置き換えて、助けが必要です。次のコードを試しました。
<?php
if(isset($_SESSION['username'])) {
echo '<li><a href="logout.php"><span>Log Out</span></a></li>';
} else {
echo '<li><a href="login.php"><span>Log In</span></a></li>';
}
?>
しかし、それは機能しません。それでも、ナビゲーションバーに[ログイン]ボタンが表示されます。
nav.phpにコードを挿入しましたnav.php
のコードは次のようになります
<div id='cssmenu'>
<ul>
<?php include('include\menuspace.php'); ?>
<li><a href='index.php' id='framside' onclick='changeDiv('1')'><span>Framsida</span></a></li>
<li><a href='skolen.php' id='skulen'><span>Skulen</span></a></li>
<?php include('include\ifnotie.php'); ?>
<?php include('include\ifie.php'); ?>
<li><a href='elevar.php' id='elevrådet' onclick='changeDiv('3')'><span>Elevrådet</span></a></li>
<li><a href='ledelsen.php' id='ledelse' onclick='changeDiv('4')'><span>Ledelse</span></a></li>
<li><a href='kontakt.php' id='kontakt' onclick='changeDiv('5')'><span>Kontakt</span></a></li>
<?php if(isset($_SESSION['username'])) {
echo '<li><a href="logout.php"><span>Log Out</span></a></li>';
} else {
echo '<li><a href="login.php"><span>Log In</span></a></li>';
} ?>
</ul>
</div>
nav.phpは単一のファイルで<?php include'(include/nav.php)'; ?>
あり、ナビゲーションバーを必要とする各phpファイルのコードを使用します。
これは、 アクセス制御されたページのPrint Screenであり、表示 するにはログインする必要があります。
- -編集 - -
LotusHが言ったように if(isset($_SESSION['username']))
、 if(isset($_SESSION['name_of_user']))
ログアウトボタンをクリックするまで動作します。その後、ログインに戻ることはありません。
---編集-2012年4月19日----
ログアウトがログインに変わる問題を修正しました。session_destroy();を配置する必要がありました。