php的setcookie()函数详解
一.浏览器COOKIE原理:
浏览器在访问某个域名时会先读取本地的COOKIE文件(CHROME浏览器在C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default),如果有这个域的cookie,就会把所有的cookie取出来作为http头一同发送到对应域名的服务上。
二.php中的COOKIE设置
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )
1.六个要素
名称,值,超时,cookie有效的网站路径,cookie所属域名,cookie发送安全
2.三个注意点
(1)path
cookie只在path目录及其子目录内有效。
如果path设置为"/",在整个网站有效,如果设置为"/news/",则只在news目录及其子目录内有效
(2)domain
要使 cookie 能在如 example.com 域名下的所有子域都有效的话,该参数应该设为 '.example.com'。虽然 . 并不必须的,但加上它会兼容更多的浏览器。如果该参数设为 example.com 的话,就只在 主域名中有效,访问子域名取不到cookie。
(3)同名cookie
cookie的签名是name和domain.
注意:除了setcookie函数,session_start()也会设置COOKIE(详见http://www.cnblogs.com/ant-moon/p/3970557.html)