每次我只能手动删除cookie不然没办法使得cookie过期

解决方案 »

  1.   

    手动删? 你的浏览器是什么? 设置PHPSESSID COOKIE 的代码呢?
      

  2.   

    你怎么设置cookie的? 没有设置有效期吗?
      

  3.   

    我用setcookie(session_name,"",time()-3600,'/')来设置的但是这个cookie过期不来,每次登陆的sesion_id都一样.手动删除才有效果
      

  4.   

    在我的浏览器上就不会。不会有 session_name 这个cookie
    想设置PHPSESSID的过期信息,就用
    void session_set_cookie_params ( int $lifetime [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]] )
      

  5.   

    难道设置cookie过期不用setcookie吗
      

  6.   

    当然也可以,不过你贴的设置PHPSESSID的代码是错误的.
    session_set_cookie_params(3600); 即可设置一小时后过期
      

  7.   

    为什么session_name返回就是你的那个值啊
      

  8.   

    session_name() 返回的是 SESSION cookie的名字
    session_id() 返回的是 SESSION cookie的值
      

  9.   

    session_name()不是返回PHPSESSID这个字符串嘛 ,难道是我理解错了 我echo出来就是个字符串啊
      

  10.   

    我每次如果不手动删除cookie的话,那么每次session_id()就不会变,是一样的值,如果我手动删除了cookie之后,session_id()就可以生成新的值,感觉快绝望了 这个破问题
      

  11.   

    我服务器端的cookielifetime是0的
      

  12.   


    不要管客户端的seesionid cookie周期,保证>=session的生命期就行了 你服务端把session的生命期控制好客户端随便它过期不过期,session_cache_expire可以用来设置服务端session的生命期。
      

  13.   


    不要管客户端的seesionid cookie周期,保证>=session的生命期就行了 你服务端把session的生命期控制好客户端随便它过期不过期,session_cache_expire可以用来设置服务端session的生命期。
      

  14.   

    <?php
    include "lognotin.php";
    session_start();
    $_SESSION=array();
    if(isset($_COOKIE[session_name()])){
    setcookie(session_name(),"",time()-60*60*24,'/');
    echo "删除session<br>";
    }
    session_destroy();

    ?>
    这段代码是我用来让sessionid过期的代码怎么cookie中的sessionid一直不过期,另外我关闭浏览器cookie也不能过期
      

  15.   

    当没有传入 session_name 时, session_start(); 会产生新的 session_name
    所以你这样做是无效的
    示例代码:
    session_start();
    print_r($_COOKIE);
    $_SESSION=array();
    if(isset($_COOKIE[session_name()])){
    setcookie(session_name(),"",time()-60*60*24,'/');
    echo "删除session<br>";
    }
    session_destroy();观察每一刷新后的显示
    另外 session_destroy() 在 window 系统中是不起作用的。要用 session_unset 
      

  16.   

    我找到错误的根源了 ,是我在之前的代码中不小心加了设置cookie的代码,这个代码在windows下是可以用的,不过谢谢大家