以前在存储cookie时,没有用到path这个参数,最近开发中在存储cookie时,要用到path参数来决定存储的路径,结果一开始的时候一直取不到值,到最后详细看了一下path参数的介绍后,才顿悟。分享几个小例子,对这一块不是太明白的可以在自己的机子上测试一下。
setcookie.PHP(路径:localhost/test):
(1):不带path参数时:
setcookie('testcookie', 'cookievalue', time() + 86400);
print_r($_COOKIE['testcookie']);
这种情况在setcookie.php本页面就可以取到值
(2):带path参数时:setcookie('xiaokang', 'cookievalue', time() + 86400, '/test/mycookie');
print_r($_COOKIE['xiaokang']);
这种情况在setcookie.php本页面就不能取到值.这是为什么呢?
解释:虽然设置cookie的这个页面url不一定是以/test/mycookie开头,但是一定得在请求以/test/mycookie开头的页面时才会发回cookie.
getcookie.php:(其路径为:localhost/test/mycookie/getcookie.php)
print_r($_COOKIE);// 这里就能取到值了。
注释:如果在存储cookie的时候加上了localhost,则注销的时候也一定要加上localhsot,如:setcookie('xiaokang', '', time() - 3600, '/test//mycookie',localhost);