當我記錄我今天的發現的時候,我首先很感激那些只做開發員工具的人員
我在只做留言板的時候,增加了一個設置回執查詢編號的功能,使用該編號可以查詢到所有使用該編號的留言,無論是否隱藏。我希望時候cookies寫入一個時間,並設置60秒後過期,這樣,如果我在設置查詢回執編號的頁面,如果指定cookies還存在,就讓他設置,否則就顯示超時(當然存在一系列可能利用的問題,當由於本人技術原因,所以請不要對此砰口水)。
在編寫代碼的時候,我發現一個問題,我添加留言的時候設置的cookies居然在設置回執編號頁面無法調用出來。
谷歌瀏覽器有一個功能,在“選項”-“高級選項”-“內容設置”-“Cookie”-“所有Cookie和網站數據”,找到你的域名,然後查看cookies是否寫入
在測試中,我驚奇的發現,居然有兩個名字一樣的cookie,僅僅是路徑不同,我醒悟過來,是不是
- <?php
- setcookie("messagetime",time(),time()+60);
- ?>
寫法無法跨目錄調用呢。在搜索引擎中搜索,並沒有找到答案(可能是我用的百度的原因),我想起了手冊,貌似手冊中cookie還有可選設置。
在PHO手冊中知道,後面還可以跟兩個值,一個是路徑,一個是域,而路徑"/"也是相當於域,於是我修改爲
- <?php
- setcookie("messagetime",time(),time()+60,"/");
- ?>
,OK了
其實是一個很簡單的問題,只是以爲cookie和session作用範圍一樣,才導致這個錯誤