ahkxhyl 发表于 2014-12-30 11:33
登陆时算起!~在用户登陆后更新下登陆的时间 然后 取当前的时间 - 数据库登陆的时间 大于 我设置的8小时...
基本上就兩個思路
對了就沒啥問題
1. 用 cookie
先檢查 cookie 有無這個名稱,確認值正確
再看 cookie 有無過期
2. 用 session
登入時紀錄 session
並自行將登陸時間寫入資料庫
每次取用 session 時
檢查資料庫時間是否超時
超時則將指定名稱的 session 刪除
Closer 发表于 2014-12-30 11:39
基本上就兩個思路
對了就沒啥問題
我用的就是cookie 就是一直在围绕cookie过期问题!!
本帖最后由 Closer 于 2014-12-30 14:42 编辑
ahkxhyl 发表于 2014-12-30 13:59
我用的就是cookie 就是一直在围绕cookie过期问题!!
所以我說了
去檢查 cookie 啊!!!
前面其他開發者就有提了
你沒去檢查 cookie 存不存在、有沒有值
一直跑那段當然只會一直"創建新的 cookie"
然後就永久有效
static/image/hrline/line3.png
檢查與設置 CI 的 cookie
$test = $this->input->cookie('vote'); //取得名稱為 vote 的 cookie 值
if(empty($test)){ //檢查 cookie 有沒有值
$cookie = array(
'name' => 'vote',
'value' => '1',
'expire' => '5'
);
$this->input->set_cookie($cookie); //設置 cookie
}
因為 expire 設為 5 秒
所以 5 秒過後 $test 取不到值
就再次設置名稱為 vote 的 cookie 值為 1 (維持 5 秒)
static/image/hrline/line3.png
下列為 PHP 原生 cookie 使用
if(empty($_COOKIE["counts"])){ //檢查此 cookie 名稱有沒有值
setcookie("counts","true",time()+3600); //設置 cookie 3600秒後失效
}
ahkxhyl 发表于 2014-12-30 11:33
登陆时算起!~在用户登陆后更新下登陆的时间 然后 取当前的时间 - 数据库登陆的时间 大于 我设置的8小时...
这个用 set_cookie 肯定是可以的啊,登录的时候设置一下 cookie,然后就不要再设置它就好了。
ahkxhyl 发表于 2014-12-30 13:59
我用的就是cookie 就是一直在围绕cookie过期问题!!
你把你有问题的代码贴出来,大家帮你看看。
谢谢各位!!!已经解决了
页:
1
[2]