php setcookie domain

心已入冬 提交于 2019-11-28 21:17:05

The issue is also adressed here: http://php.net/manual/en/function.setcookie.php

See comment by "jah": If you want to restrict the cookie to a single host, supply the domain parameter as an empty string

You could also try ".domain.com" as the domain. The trailing dot will allow a cookie for all subdomains for "domain.com" and could overwrite the "www."-cookie, but I'll go with the above solution first.

If you specify a domain, you should follow RFC 2109 and prefix the domain with a dot; otherwise the client will do that. But if you don’t specify a domain at all, the client will take the domain of the request.

Try to create several other cookie with same name, but a different domain. Example:

setcookie('mycookie','mydata1',time() + 2*7*24*60*60,'/','www.domain.com', false);
setcookie('mycookie','mydata2',time() + 2*7*24*60*60,'/','www.domain.com', false);
setcookie('mycookie_top','mydata1',time() + 2*7*24*60*60,'/','domain.com', false);
setcookie('mycookie_top','mydata2',time() + 2*7*24*60*60,'/','domain.com', false);

Then inspect the cookie created by these command in the Firebug. If you kept getting a double cookie, then this might be a bug in the PHP. Also, try to set the cookie in the javascript code, see if you still got the same problems.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!