session_destory()!注销全部session
session_unregister()注销一个

解决方案 »

  1.   

    session_destroy()没有参数,取消所有的session变量,而 session_unregister(string name)取消某一session变量,所以你应该用session_unregister
      

  2.   

    为何这样不成功呢?logout.php:
    <?php
    if (session_is_registered("login_user"))
    //session_destroy("$_SESSION[login_user]");
    session_unregister("login_user");
    {
      //注销session并返回到首页
      header("location:../index.php");
      exit();
    }
    ?>
      

  3.   

    <?php
    if (!empty($login_user)){
    $login_user="";
    session_unregister("login_user");
      header("location:../index.php");
      exit();
    }
    ?>
      

  4.   

    chongzi1的代码还是无法成功,点退出后进入空白的logout.php页面,连header都不执行了。
    而下面这样还能返回到index.php页面,但session同样也没出有去掉:
    <?php
    if (session_is_registered("login_user"))
    session_destroy("$_SESSION[login_user]");
    {
      //注销session并返回到首页
      header("location:../index.php");
      exit();
    }
    ?>
      

  5.   

    我找到不执行的原因了,是if (!empty($login_user))这一句为否,所以无法执行下面的语句,我去掉“!”就可以执行header,但同样也无法注销掉session。我产生session的代码是:session_start();
    session_register("login_user");
    $_SESSION[login_user] = $username;我想让用户点击“退出”后去掉用户的session,之后用户如果在浏览器里直接输入URL的时候是无法进入被保护的页面的。那么logout.php到底应如何写,谢谢!
      

  6.   

    <?
    session_start();
    session_unregister("login_user");
    header.....
    ?>
    or
    <?
    session_start();
    $login_user="";
    header.....
    ?>
    or
    <?
    session_start();
    session_destory();
    header.....
    ?>
    没有session_start()都是错的
      

  7.   

    <?
    session_start();
    session_unregister("login_user");
    header.....
    ?>
    或者
    <?
    session_start();
    session_destory();
    header.....
    ?>
    推荐使用后者