作者thinklu (包子)
看板PHP
標題[請益] 請問如何知道session timeout
時間Wed Jun 15 09:59:31 2011
不好意思~我是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
1F:推 mrbigmouth:session過期後就自動消失了啊? 檢查session即可 06/15 10:21
2F:推 allenmusic:那個timeout happens是登出頁面嗎 06/15 10:21
3F:→ mrbigmouth:如果你是要登入後經過一定時間自動轉向 php做不到 06/15 10:22
4F:推 allenmusic:檢驗登出的話 填 !$__SESSION['un'] 06/15 10:23
5F:→ mrbigmouth:請把你的過期時間算出來輸出給html或js做處理 06/15 10:23
6F:→ mrbigmouth:讓登入的瀏覽者在時間到了之後自動轉出即可 06/15 10:23
7F:→ allenmusic:那個timeout happens <意思好像是登出轉到登入頁面 06/15 10:25
8F:→ allenmusic:原po你用的語法 跟我的好像XD 06/15 10:26
9F:→ thinklu:謝謝大家回答~!!我是想要每跳到一個新的php檔時,就檢查有 06/15 10:36
10F:→ thinklu:沒有登入~session有沒有timeout~ 06/15 10:36
11F:→ thinklu:照m大說的~那我只要每次都檢查isset($_SESSION)就可以順便 06/15 10:37
12F:→ thinklu:檢查到session有沒有timeout了嗎? 06/15 10:39
13F:→ thinklu:回a大~對~我先登入了~但是如果session timeout了~我想要跳 06/15 10:40
14F:→ thinklu:出去登入的頁面~讓使用者在登入一次 06/15 10:41
15F:→ thinklu:另外~m大說的~過期時間部分~可是我該怎麼知道哪個點要算呢 06/15 10:45
16F:→ thinklu:? 沒有那種~比如我設定60秒~60秒他一過期~就有個flag可以 06/15 10:45
17F:→ thinklu:去判斷~session是否過期了嗎? 06/15 10:46
18F:→ allenmusic:如果你一定要用php來判斷 時間到自動登出 可以用 06/15 10:53
19F:→ allenmusic:php時間函數+判斷有沒有登出 06/15 10:56
20F:→ thinklu:謝謝a大~我沒有一定要用php來判斷>"<~我想知道一個大家比 06/15 11:01
21F:→ thinklu:較常用~比較直接簡單的方法XD 以後有要做這種東西~我就會 06/15 11:02
22F:→ thinklu:的方式>"< 06/15 11:02
23F:→ thinklu:謝謝大家!!!!我研究出來了!!XDD 感恩!!!! 06/15 13:50
24F:→ allenmusic:其實最簡單就用meta 的refresh功能 設定幾秒更新一次 06/15 15:40
25F:→ MOONRAKER:不是isset($_SESSION) 是檢查你放進$_SESSION的某個變數 06/15 17:32
26F:→ MOONRAKER:是不是沒了 例如isset($_SESSION['uid'])之類的 06/15 17:32
27F:→ MOONRAKER:把你網站需要的session集中在一個陣列或物件裡 登出就 06/15 17:33
28F:→ MOONRAKER:unset() 檢查登入過期就isset() 這樣多個網站才不會 06/15 17:34
29F:→ MOONRAKER:因為session_destroy()這種原子彈函數互相干擾 06/15 17:35
30F:→ thinklu:謝謝大家^^ 06/16 00:19