標(biāo)識(shí)用戶(hù)登錄狀態(tài)
數(shù)據(jù)庫(kù)think_user表新加一個(gè)status字段,用戶(hù)登錄后更改數(shù)據(jù)庫(kù)字段來(lái)表示登錄與在線狀態(tài)
用戶(hù)登陸成功后添加如下代碼:
存入session,修改members()方法,代碼如下:
<?php Session::start(); if(isset($_SESSION['admin_name'])){ //session存在不用驗(yàn)證權(quán)限 $user = User::get([ 'user_name' => $_SESSION['admin_name'] ]); //更改數(shù)據(jù)庫(kù)信息,登錄了就根據(jù)session把status改為1,退出或注銷(xiāo)就改為0 Db::table('think_user')->where('user_name', $_SESSION['admin_name'])->update(['status' => 1]); }
這樣用戶(hù)登陸之后根據(jù)用戶(hù)的session存值進(jìn)行數(shù)據(jù)庫(kù)的修改操作,把status狀態(tài)改為1表示已登錄
修改前端展示代碼即可顯示用戶(hù)登錄狀態(tài):
<?php {volist name="list" id="vo"} <dt> <h3>{$vo.user_id} 姓名:{$vo.user_name}{if $vo.status==1}<span style="color: #008800">在線</span>{else}<span style="color: #880000">離線</span>{/if}</h3> </dt> {/volist}
效果展示:
數(shù)據(jù)庫(kù)改變: