[爆卦]php判斷是否登入是什麼?優點缺點精華區懶人包

為什麼這篇php判斷是否登入鄉民發文收入到精華區:因為在php判斷是否登入這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者rjackie (向前走,才知道轉角)看板PHP標題[請益] SESSION登入會自動失效時間S...


各位先進小弟有一程式問題始終不解,還請大大幫忙。

情境式使用者登入後透過session記錄帳號密碼在於每一頁中
判斷次否有值與驗證帳號密碼是否正確,紀錄程式如下:

session_start();
$_SESSION['account_no'] = $post_account_pw_data['no'];
$_SESSION['password'] = $post_account_pw_data['password'];

而每頁的驗證如下:

if($_SESSION['account_no'] != "" AND $_SESSION['password'] != ""){

//資料庫查詢帳號密碼

if(empty($member_check_data['no'])){
echo "登入過期";
exit();
}
}else{
echo "請先登入";
}

基本上是沒有什麼問題,但是最近開始出現不定期或是不定時會發生session遺失
造成使用者需要重新登入的問題。

想請教session_start();是否一定要放在所有網頁的最前端呢?
目前環境是架在GCP上使用PHP7

另外一個問題是,如果$_SESSION['account_no']是存在的,而其他程式產生
$account_no = x;這樣會影響到$_SESSION['account_no'] 的值嗎?

是否有什麼方式可以排除呢?

在拜託了,感激不盡

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.19.62
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1494664931.A.105.html
MOONRAKER: 正確而言是在每一次執行流程的最前面 不過你要所有檔案 05/13 16:47
MOONRAKER: 都放也可以 反正第一次以後會忽略 05/13 16:47
MOONRAKER: 下一個問題是不會 $_SESSION裡面的值跟一般變數無關 05/13 16:48
MOONRAKER: 一般而言php的session很可靠 超過設定時間或reboot才會 05/13 16:49
MOONRAKER: 消失 先查到你平台上的session lifetime 然後看你的 05/13 16:54
MOONRAKER: session loss間隔 loss間隔大於lifetime那很合理 05/13 16:54
MOONRAKER: 反過來就有問題 05/13 16:54
xdraculax: 被同一個伺服器上別的網站清了? session_save_path 05/13 17:29
rjackie: 請問M大您指的是session.gc_maxlifetime嗎? 另外loss是? 05/13 19:00
rjackie: 被別的網站清了? 掛在GCP機器上會有這問題? 05/13 19:02
rjackie: 第一次遇到這問題,找不到解 05/13 19:02
MOONRAKER: session loss就是你session消失事件 不是專有名詞 05/14 00:54
Darkland: https://goo.gl/gGmulC 如果你是用 app engine 的話 05/14 09:06
Darkland: 要注意 appengine 是用 memcache 來存 session data 05/14 09:06
Darkland: 而且他預設的 lifetime 很短 05/14 09:07

你可能也想看看

搜尋相關網站