看板 PHP 關於我們 聯絡資訊
不好意思~我是PHP的初學者 我正在做login的東西~ 在一開始我用: session_set_cookie_params(60); session_start(); 來設定timeout時間 接著我做了: $_SESSION['un'] = $username; 來指派值~ 之後log in成功~我跳到了另一個php檔~ 在一進去我就做了: if ( ! isset( $_SESSION['un'] ) ) { echo '<meta http-equiv=REFRESH CONTENT=3;url=login.php>'; } 來確定使用者有log in~不然我就把他redirect出去 不好意思講一堆~現在問題來了~ 我想做: if(/*timeout happens*/) { echo '<meta http-equiv=REFRESH CONTENT=3;url=login.php>'; } 可是我不知道/*timeout happens*/ 應該要寫什麼~ 可以請各位大大幫忙嗎? 我有先找過一堆資料了~可是沒有找到我想要的~ 所以來這邊問問看各位~肛溫~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 76.170.150.223
mrbigmouth:session過期後就自動消失了啊? 檢查session即可 06/15 10:21
allenmusic:那個timeout happens是登出頁面嗎 06/15 10:21
mrbigmouth:如果你是要登入後經過一定時間自動轉向 php做不到 06/15 10:22
allenmusic:檢驗登出的話 填 !$__SESSION['un'] 06/15 10:23
mrbigmouth:請把你的過期時間算出來輸出給html或js做處理 06/15 10:23
mrbigmouth:讓登入的瀏覽者在時間到了之後自動轉出即可 06/15 10:23
allenmusic:那個timeout happens <意思好像是登出轉到登入頁面 06/15 10:25
allenmusic:原po你用的語法 跟我的好像XD 06/15 10:26
thinklu:謝謝大家回答~!!我是想要每跳到一個新的php檔時,就檢查有 06/15 10:36
thinklu:沒有登入~session有沒有timeout~ 06/15 10:36
thinklu:照m大說的~那我只要每次都檢查isset($_SESSION)就可以順便 06/15 10:37
thinklu:檢查到session有沒有timeout了嗎? 06/15 10:39
thinklu:回a大~對~我先登入了~但是如果session timeout了~我想要跳 06/15 10:40
thinklu:出去登入的頁面~讓使用者在登入一次 06/15 10:41
thinklu:另外~m大說的~過期時間部分~可是我該怎麼知道哪個點要算呢 06/15 10:45
thinklu:? 沒有那種~比如我設定60秒~60秒他一過期~就有個flag可以 06/15 10:45
thinklu:去判斷~session是否過期了嗎? 06/15 10:46
allenmusic:如果你一定要用php來判斷 時間到自動登出 可以用 06/15 10:53
allenmusic:php時間函數+判斷有沒有登出 06/15 10:56
thinklu:謝謝a大~我沒有一定要用php來判斷>"<~我想知道一個大家比 06/15 11:01
thinklu:較常用~比較直接簡單的方法XD 以後有要做這種東西~我就會 06/15 11:02
thinklu:的方式>"< 06/15 11:02
thinklu:謝謝大家!!!!我研究出來了!!XDD 感恩!!!! 06/15 13:50
allenmusic:其實最簡單就用meta 的refresh功能 設定幾秒更新一次 06/15 15:40
MOONRAKER:不是isset($_SESSION) 是檢查你放進$_SESSION的某個變數 06/15 17:32
MOONRAKER:是不是沒了 例如isset($_SESSION['uid'])之類的 06/15 17:32
MOONRAKER:把你網站需要的session集中在一個陣列或物件裡 登出就 06/15 17:33
MOONRAKER:unset() 檢查登入過期就isset() 這樣多個網站才不會 06/15 17:34
MOONRAKER:因為session_destroy()這種原子彈函數互相干擾 06/15 17:35
thinklu:謝謝大家^^ 06/16 00:19