PHP cookie不能与www一起工作


php cookies are not work with www

这是我的代码请告诉我它在www上是如何工作的

if(!isset($_COOKIE['cookie_name'])) 
    {
        $newvalue=rand(1,10000).time().rand(999,999999);
        setcookie("cookie_name",$newvalue,time()+(86400 * 30),"/","", 0);
    }

直接取自set_cookie()手册:

cookie可用的域。将域设置为'www.example.com'将使cookie在WWW子域中可用以及更高的子域。可用于较低域的cookie,例如'example.com'将可用于更高的子域名,例如"www.example.com"。旧的浏览器仍在实现已弃用的»RFC 2109可能需要引线。匹配所有子域。

这意味着,您需要通过域。您最好使用以下方式:

setcookie("cookie_name",$newvalue,time()+(86400 * 30),"/",".yourdomain.com", 0);

注意前面的. ?这允许它匹配所有子域,包括www