我的php是5.0,在登录成功后,我把用户信息保存在session里,代码是:$_SESSION["ID"]=$id;$_SESSION["name"]=$name;之后返回到index.php,提示登录成功。现在想退出,用尽一切的办法,都用不到,我用的方法有unset($_SESSION["ID"]);$_SESSION["ID"]=null;$_SESSION["ID"]=array();$_SESSION=array();也用过unset($_SESSION);session_destroy();但是返回到index.php都提示登录成功,在index.php我的代码是:if(isset($_SESSION["ID"])){echo "登录成功";}
急啊,php的session到底是搞什么....

解决方案 »

  1.   

    还有一个问题是:登录成功后返回到index.php,可以获取id,但是去到第三个页面,比如:info.php,就获取不了id,代码是这样的:session_start();echo $_SESSION["ID"];出错提示在info.php没有定义ID.
      

  2.   

    呵呵,这是个很郁闷的事情,可能跟服务器配置有关,$_SESSION["ID"],这个里面的变量最好在其他位置不要出现,很容易出问题,比如你用了$_SESSION["ID"],则其它位置不要出现$ID=???了
      

  3.   

    其它页面也没有的?这个好像是全局的,我遇到过这样的问题,你把$_SESSION["ID"]改成$_SESSION["aaa"]测试下呢
      

  4.   

    ID这个名字确实可能会出错。改成user_id之类的试试
      

  5.   

    用这个if(!empty($_SESSION["ID"])){echo "登录成功";} 
    试试
    另外每个用到session的地方都得有session_start()
      

  6.   

    if(isset($_SESSION["ID"])){echo "登录成功";} if($_SESSION["ID"] !== NULL){echo "登录成功";} 
      

  7.   

    我不是用$_SESSION["ID"]的,我是用login_id的,我简写了,不能用ID的啊。
      

  8.   

    楼主,可能别的地方也有ID了,你这个ID和他的ID 重名了楼主换一个
      

  9.   

    我不是用ID的,我是用login_id,这样也有错吗?
      

  10.   

    1, 在用到如:$_SESSION['xx']变量的页面第一行都加上session_start()
    2, unset($_SESSION["ID"]);这样的语句之前不能有任何输出,包括"空格"
      

  11.   

    我用的是 session_destroy();
    如果是退出的话,用这个可能要好点吧。
      

  12.   

    session_strat();了
     需要session_destroy();  
      

  13.   

    都 php5 了.别去看老掉牙的SESSION处理代码了...看在线手册上的SESSION应用代码吧.尤其注意一下.你用到的几个函数.看看手册目前是否还推荐使用....
      

  14.   

    $_SESSION['id'] = ''
    比什么都管用
      

  15.   

    你别用isset 把.
    '',false,都返回1
    只有null才返回0你对照你的代码看看把.肯定有问题
    你$_SESSION['ID']=''后你在打印一下你的 print_r($_SESSION);看看有什么?
      

  16.   

    session_start() 用这个的时候,前面是不能有输出的啊!
      

  17.   

    看看
    if(isset($_SESSION['ID'] && $_SESSION['ID'] != ''){
    }
    多加一点条件看看行不行