else
{
  $_SESSION["admin"] = false;
  echo "<script language=\"javascript\">top.location='http://localhost/login.php';</script>";
}

解决方案 »

  1.   

    session_start();前不能有任何的输出
    包括头信息都不行用js输出top.locationv.href='登录地址'就可以了
      

  2.   

    不对,改成else
    {
      $_SESSION["admin"] = false;
      echo "<script language=\"javascript\">top.location='http://localhost/login.php';</script>";
    }
    不管什么地址都是跳到登陆页,其他页根本显示不了。
      

  3.   

    各位再帮忙看看,我改成下面:
    else
    {
      $_SESSION["admin"] = false;
      echo "<script language=\"javascript\">top.location='http://localhost/login.php';</script>";
    }
    执行不管什么地址都是跳到登陆页,别的页根本显示不了。
      

  4.   

    还有,下面是我的header.inc内容,每个页面调用:
    <?php
      header("Cache-Control:no-cache,must-revalidate");
      header("Pragma:no-cache");
      $admin = false;  session_start();
      if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true)
        {
          $s=0;
        }
        else
        {
         $_SESSION["admin"] = false;
         Header("Location: http://localhost/login.php");
        }
    ?>
      

  5.   

    还有,下面是我的header.inc内容,每个页面调用:
    <?php
      header("Cache-Control:no-cache,must-revalidate");
      header("Pragma:no-cache");
      $admin = false;  session_start();
      if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true)
        {
          $s=0;
        }
        else
        {
         $_SESSION["admin"] = false;
         Header("Location: http://localhost/login.php");
        }
    ?>
    -------------------------
    session_start放在最上面。。
    你的session由于前面有输出(header)所以始终是失效的,当然会一直是else了