作者heibow (危 险 心 灵)
看板PHP
标题[请益] cookie作用范围的问题
时间Tue Feb 25 12:01:13 2014
如题 目前在写一个小小的报名系统
架构大概是这样
根目录下的login.php会把index.php所post过来的帐号密码检察过
然後把帐号跟昵称存到cookie 时效半小时
根目录以及子目录下的所有页面在一开始的地方都会检查cookie是否已unset
若unset则告知闲置过久请重登入 若否 则重新set cookie 时效半小时
并在网页上方echo出user的昵称以及欢迎词
若登出则setcookie('userid','',time()-3600);
现在遇到两个问题
第一是在login.php中 若是要在setcookie後的下一行直接echo该cookie
chrome会显示Undefined index:userid
第二是当我以a身份登入并流览完网页 登出以b重登入
在根目录下的页面的欢迎词 还有读到的cookie都是b的身份
但a所流览过的子目录的页面读到的cookie还有显示的欢迎词却都还是a的
感觉有点像是子目录的cookie是local variable
我在logout.php做的setcookie('userid','',time()-3600);
只有把golbal variable清掉
请问是否有高手可以建议一下 架构要怎麽修改比较好呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.160.247
1F:→ danny8376:有跨目录时请加上path参数 02/25 12:17
2F:→ heibow:有办法在login的地方直接把路径递回到所有子目录吗? 02/25 12:35
3F:→ danny8376:整所有目录共通的父目录放cookie就行了 02/25 15:35
4F:→ danny8376:最简单就是全放在/下 但如果这网址还有其他网站 02/25 15:35
5F:→ danny8376:就要自己注意状到cookie的情况 02/25 15:35
6F:→ danny8376:反正cookie运作很简单 你想像每望下一层目录 02/25 15:36
7F:→ heibow:但是如果一直在子目录中切页面 就不会update cookie 02/25 15:36
8F:→ danny8376:就是另外一个function的内部 cookie能往下传进去 02/25 15:37
9F:→ danny8376:但是不能往上传 在下面改过的影响不了上面的范围 02/25 15:38
10F:→ danny8376:所以你存cookie时只要确保都存在那个"够上面"的目录 02/25 15:39
11F:→ danny8376:这样就不会有问题了 02/25 15:39