请问一下
setcookie(cookie_name,cookie_value);这样的写法是关闭浏览器后,该cookie值就失效对吧?为何我重新登陆到该页面下,该cookie的值还存在。哪怕我把该站点的网页全部关闭也是一样。

解决方案 »

  1.   

    php.ini中 session.cookie_lifetime 的值是多少?
      

  2.   


    我讲的重新登陆是,没有再进行该COOKIE的设定,就已经有值了呢。
      

  3.   

    关闭浏览器cookie是不会消掉的。
      

  4.   

    The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes). 不是说关闭就失效?
      

  5.   

    得看代码怎么写的了, 每次访问页面你都给人家发cookie, 当然一直有了。
      

  6.   

    cookie最重要的三个参数 名字 值 过期时间 
    setcookie(name,value,expiration)
    如果要保留或浏览器之间共用cookie,就必须设置有效时间:setcookie("A","10",time()-3600); //一小时之前失效
    setcookie("B","10",time()+3600);  //一小时之后失效
    setcookie("C","10",mktime(0,0,0,12,30,2012));  //2012-12-30日失效cookie一过期 就被自动删除
      

  7.   

    伱这个原因 上面有人说了 伱重新登陆 它当然又存在喽!! 
    伱把哪个网页关了 用其它页面登陆 并输出cookie试试(print_r($_COOKIE)) 它就不存在了!
      

  8.   

    赋0或是省略情况浏览器关闭时到期,确实是这样说的
    你看看代码是不是,先赋值再取值了,那你删了没用,打开又赋上了,看不出来被删了
    另外你把浏览器全关掉,不应该是缓存吧
    通常使用都带时间,你这样不带时间,搞个全局变量就行了,还存啥cookie麻烦
      

  9.   

    为了证明我的结果,我特地写了个测试程序
    cookie.php<?php
    for($i=0;$i<30;$i++)
    {
    $val = 'm_'.$i;
    setcookie($val,$i);
    }
    header("location:cookie1.php");
    ?>
    cookie1.php
    [code=PHP]
    <?php
    for($i=0;$i<30;$i++)
    {
    $val = 'm_'.$i;
    echo $$val."<br>";
    }
    ?>执行完cookie.php,cookie1.php输出了cookie值关闭cookie1.php直接执行cookie1.php,还是有cookie的值!
      

  10.   


    照你说不设置时间的cookie用其他类型的全局变量???请问跨页访问的时候,全局变量怎么访问?更何况cookie不也是全局变量的一种?