0

私のコーディングは

<?php
if (!isset($_SESSION["usr"]))
{
    ?>
    <ul id="top_nav">
        <li ><a href="login.php">Login</a></li>
        <li><a href="#">About us</a></li>
    </ul>
    <?php
}
else
{
    echo '<ul id="top_nav">';
    echo '<li id="logout"><a href="#">Logout</a></li>';
    echo '<li><a href="#">' . $_SESSION["usr"] . '</a></li> </ul>';
}
?>

PHPでは、ユーザーがログアウトをクリックしたときにセッションを破棄したい(これはliを使用しました)。だから私は機能を使ってチェックしたいisset。または他の方法を教えてください。

4

1 に答える 1

1

セッション変数を使用して設定を解除しますunset($_SESSION['usr'],$usr);。問題を回避するには、両方の変数が必要ですregister_global。あなたのコードはこのようなものでなければなりません

<?php 
if ($_GET['logout']=='1') unset($_SESSION['usr'],$usr);
if(!isset($_SESSION["usr"])){?>
  <ul id="top_nav">
      <li><a href="login.php">Login</a></li>
      <li><a href="#">About us</a></li>
  </ul>
<?php }else{ ?>
  <ul id="top_nav">
      <li id="logout"><a href="?logout=1">Logout</a></li>
      <li><a href="#"><?=$_SESSION["usr"];?></a></li>
  </ul>
<?php } ?>    
于 2013-03-20T18:27:33.677 に答える