看板 PHP 關於我們 聯絡資訊
如題 目前在寫一個小小的報名系統 架構大概是這樣 根目錄下的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
danny8376:有跨目錄時請加上path參數 02/25 12:17
heibow:有辦法在login的地方直接把路徑遞回到所有子目錄嗎? 02/25 12:35
danny8376:整所有目錄共通的父目錄放cookie就行了 02/25 15:35
danny8376:最簡單就是全放在/下 但如果這網址還有其他網站 02/25 15:35
danny8376:就要自己注意狀到cookie的情況 02/25 15:35
danny8376:反正cookie運作很簡單 你想像每望下一層目錄 02/25 15:36
heibow:但是如果一直在子目錄中切頁面 就不會update cookie 02/25 15:36
danny8376:就是另外一個function的內部 cookie能往下傳進去 02/25 15:37
danny8376:但是不能往上傳 在下面改過的影響不了上面的範圍 02/25 15:38
danny8376:所以你存cookie時只要確保都存在那個"夠上面"的目錄 02/25 15:39
danny8376:這樣就不會有問題了 02/25 15:39