我在localhost/abc下用setcookie($key,$value);往$key里写了一个cookie值
但我在localhost下用$_cookie[$kye]取不到值,但在localhost/abc下却又能取到

解决方案 »

  1.   

    1楼不行,第三个是设置有效期的,要是设置为关闭浏览器即过期第三个写0,第四个"/",最好第五个设置下作用域,设置为“localhost”。cookie的作用域是向下延伸的,在localhost/abc下生成的cookie只能在localhost/abc及其子域名下使用,例如localhost/abc/def,不能有上级域名调用,想要改变其作用域必须设置~
      

  2.   

    可以看看帮助文档中setcookie方法各个参数,尤其是path
      

  3.   

    setcookie($key,$value); 这个函数有个cookie_path ,设置为/ 就可以了.具体参考php手册.
      

  4.   

    他是可以这样设置的..
    如果你第三个参数不是时间..他就匹配到第四个参数...这样.
    写"/"是任何目录下都可以访问的cookie...
      

  5.   

    if (version_compare(PHP_VERSION, '5.2.0', '>=')) {
    return setcookie($ck_Var, $ck_Value, $ck_Time, "/", "", $ishttps, true);
    } else {
    return setcookie($ck_Var, $ck_Value, $ck_Time, "/; HttpOnly' , "", $ishttps);
    }
      

  6.   

    我是小白……if里解释下,而且既然已经setcookie了,为什么还要return?都生成了……费解。