設計了一個登入頁面讓USER登入
用了SESSION記錄登入USER是誰
然而這個SESSION在之後USER填表單
會在新增修改資料的時候 一併寫入DB 用來記錄是誰填寫的
但是為什麼SESSION消失的時間這麼不一定...
爬了一些文章
改過php.ini的參數
像是
session.gc_maxlifetime
session.gc_divisor
session.gc_probability
可是都還是會不定時消失...
基本上我希望可以讓SESSION保存一天
請問各位是否有建議作法
再請各位指教
謝謝!
我曾經自己處理Session寫在自己的資料庫中,
不過前提是SessionId必須是一樣的,
不過我測試的結果如果不是用無痕視窗基本上絕大部份時間會是一樣的,
偶爾會有不一樣的出現,
雖然我不是用PHP寫的,
不過結果應該出入不大.
我不是把Session寫在資料庫
而是在USER有編輯的時候把Session寫入資料庫欄位中
像是這樣INSERT INTO TABLE (PartNumber,USERID) VALUES ($_POST['PartNumber'],$_SESSION["NAME"]);
$_SESSION["NAME"]是在USER登入成功後就存下來的
可是它會莫名的消失...
目前我是先改用COOKIE了
我最近有把幾年前php5的程式重新放到Web上去Run,發現雖然網路上寫php7已經可以不需要session_start(),但實際上沒有下session_start()就會出現$_SESSION["NAME"]的值會不見。
提供參考!
@haha1811
PHP7並沒有不需要session_start喔。不知道你是哪邊看到的文章。
但可以設定php自動使用session_start。(但不建議這樣使用就是了)