SESSION用session_destroy(); 释放变量呀

解决方案 »

  1.   

    to:gzty(风逍遥)
    人家释放一个session变量,不是所有变量
      

  2.   

    怎么可能呢?
    <?php
    session_start();
    print_r($_SESSION);
    if (isset($_SESSION['card_no'])) { 
      unset($_SESSION['card_no']);
    }
    print_r($_SESSION);
    //$_SESSION['card_no'] = 'test';     
    ?>
      

  3.   

    Description
    bool session_destroy ( void)
    session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. This function returns TRUE on success and FALSE on failure to destroy the session data. 
    好还是 用session_destroy() unset 一次只能清一个变量值吧
      

  4.   

    我把你的程序试了一下,unset();是起作用的。你试试它关用吗?session_unregister()
      

  5.   

    session_unregister
    (PHP 4 )session_unregister --  Unregister a global variable from the current session 
    Description
    bool session_unregister ( string name)
    session_unregister() unregisters the global variable named name from the current session. This function returns TRUE when the variable is successfully unregistered from the session. 注: If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use unset() to unregister a session variable. Do not unset() $_SESSION itself as this will disable the special function of the $_SESSION superglobal. 
    注意 
    This function does not unset the corresponding global variable for name, it only prevents the variable from being saved as part of the session. You must call unset() to remove the corresponding global variable. 
     
    注意 
    If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister(). 
     
    怎么不看手册
      

  6.   

    例子 2. Unregistering a variable with $_SESSION and register_globals disabled. <?php
    session_start();
    // Use $HTTP_SESSION_VARS with PHP 4.0.6 or less
    unset($_SESSION['count']);
    ?>  
      

  7.   

    如唠叨大哥的  显示是对的,Array ( [card_no] => 0100010100004001 ) Array ( )
    但是在其他的页面,条件是
    <? session_start();
    if (!isset($_SESSION['card_no'])) {
       header("location:../login.php"); 
    }
    else {
        $card_no=$_SESSION['card_no'];
    }
    ?>
    仍然正常的实现$card_no,好象根本没有取消掉。为什么?
      

  8.   

    但是在其他的页面,条件是
    <? session_start();
    if (!isset($_SESSION['card_no'])) {
       header("location:../login.php"); 
    }
    else {
        $card_no=$_SESSION['card_no'];
    }
    ?>
    仍然正常的实现$card_no,好象根本没有取消掉。这个页面是不同的目录下的,SESSION分目录?
      

  9.   

    session_unregister(string name);应该是这样吧???
    session_unregister('card_no');