PHP中cookies跨目錄無法調用解決辦法

當我記錄我今天的發現的時候,我首先很感激那些只做開發員工具的人員

我在只做留言板的時候,增加了一個設置回執查詢編號的功能,使用該編號可以查詢到所有使用該編號的留言,無論是否隱藏。我希望時候cookies寫入一個時間,並設置60秒後過期,這樣,如果我在設置查詢回執編號的頁面,如果指定cookies還存在,就讓他設置,否則就顯示超時(當然存在一系列可能利用的問題,當由於本人技術原因,所以請不要對此砰口水)。

在編寫代碼的時候,我發現一個問題,我添加留言的時候設置的cookies居然在設置回執編號頁面無法調用出來。

谷歌瀏覽器有一個功能,在“選項”-“高級選項”-“內容設置”-“Cookie”-“所有Cookie和網站數據”,找到你的域名,然後查看cookies是否寫入

在測試中,我驚奇的發現,居然有兩個名字一樣的cookie,僅僅是路徑不同,我醒悟過來,是不是

  1. <?php  
  2. setcookie("messagetime",time(),time()+60);  
  3. ?> 

寫法無法跨目錄調用呢。在搜索引擎中搜索,並沒有找到答案(可能是我用的百度的原因),我想起了手冊,貌似手冊中cookie還有可選設置。

在PHO手冊中知道,後面還可以跟兩個值,一個是路徑,一個是域,而路徑"/"也是相當於域,於是我修改爲

  1. <?php  
  2. setcookie("messagetime",time(),time()+60,"/");  
  3. ?> 

,OK了

其實是一個很簡單的問題,只是以爲cookie和session作用範圍一樣,才導致這個錯誤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章