1.当你的SESSION数量达到一定数量,SESSION才会被删除.
2.不要担心两个SESSION会相同,你用的是单机调试才会出现取代现象,在服务器的状态下不必担心用户的SESSION会发生冲突.也就是不要担心LOGOUT其他用户.

解决方案 »

  1.   

    注册session前不用先清空存在的session除非想在同一个页面里重新注册session。建议用session_destroy()函数注销,它会把临时文件给删除的。
      

  2.   

    我的方法是:
    ----login.php----
    ...
    <a href=goto.php?to=./ target=_top>退出登陆</a>
    ...----goto.php----
    <?
    session_start();
    session_destroy();
    echo "<script>top.location.href='$to';</script>";
    ?>虽然慢点,但可以清除当前session,把服务器端的临时文件删除;
    但就是经不起用户点“后退”->“重试”;它是浏览器重新发送的。
      

  3.   

    再写清楚一点贴意:
       1. session是已经注销掉了,临时文件也删掉了,点后退也没问题。我的问题是 session_id 这个东西不会消失?
       2. 我的意思就是在单机下session不能取代,而要第二个注册session时清空一下才可以,要不然取出的session还是第一个的。我的问题是这样清空会不会影响服务器的其他正在使用用户?
      

  4.   

    session应该是在过一定的时间才回清除的吧,
      

  5.   

    我想你出现这个问题是不是新版本的PHP中?如果是这样的话,不防不采用
    session_register和session_unregister这两个函数。直接用$_SESSION[ID]="xxx"进行注册和修改值,用unset($_SESSION[ID])进行注销。
      

  6.   

    我想有必要重申一下PHP中SESSION的几个需要注意的地方:
    session_register():注册一个session变量
    session_unregister():注销一个session变量
    session_unset():清除所有所有session变量
    上述函数都不影响session_idsession_start():创建一个session,注意,如果你的没有退出浏览器,原来的session_id将被激活,php.net的英文原文是:"the prior saved environment is recreated"(这就是迷惑人的地方)至于你说的CSDN的确定身份,我想是在登录是在session中注册了一个可以区别唯一的变量(如:用户名)
      

  7.   

    to: yu_dx():
       谢谢你能解答第一个问题。
       第二个问题,我也是注册的用户名,用于跟踪这个用户。我个人认为也应该只有一个session,不可能用户同时打开两个窗口,使用两个id,不知是不是这样?to: anziqi(枫叶无情) :
       我在单机上怎样使用多个呀,不过我单机上注册前清空一下session,使用多个id登陆使用很正常,就是不知道到了服务器上会不会影响其他客户端。to: binscut(何时走出迷雾):
       我用的是php4.2.2,session_id不是重要的,因为我不用这个跟踪。我回头再试试你说的$_SESSION[ID]="xxx"。
       第一个问题解决。
       第二个问题换种问法,举例来说:广州和上海的两个客户端,同时访问北京的服务器,广州的先注册了session,上海的再注册,不过在注册前清空了一下session,因为不排除上海的客户端(同一台电脑)已有其他用户注册了同一网站的session,也就是像csdn.net这样,一个id登陆,另一个就被取代了。请问上海的清空session,会不会影响广州的???
      

  8.   

    这点你不用担心,session是跟据浏览器来建立的,就算你一台电脑,开两个不同的窗口,去访问一个网站,你得到的session_id也是不一样的.所味清掉session一般是指清掉某一连接的session文本,不会是把整个session目里的文件都删掉的,本身每一个链接都会在服务器上存有一个文件.文件名似呼就是session_id号,session_unregister只是删掉它里面一个边量而以,而不是删掉整个存放session的文本,你可一到你放session的临是目录里去看看有很多文件的都是字符,并非二进制,所以session用得过多很耗系统资源,你的session目录可一到php.ini中去看在那里
      

  9.   

    同意: pantech_36(*_*阿苯猫^_^) 
    你大可不必担心这个问题.
    我想你有些混淆了,session 不代表唯一对应一个用户ID,session 只唯一对应一个浏览器(可以是弹出窗口)。一个用户ID可以在任何地方,任何时间创建任意数量的session
      

  10.   

    之所以這樣做是因為我在單機上調試時,以後再登陸註冊session的用戶,取出的還是第一個用戶的session,要清空一下才正常,請問這樣是不是也是一種錯???     祝中秋快樂.