标识用户登录状态
数据库think_user表新加一个status字段,用户登录后更改数据库字段来表示登录与在线状态
用户登陆成功后添加如下代码:

存入session,修改members()方法,代码如下:
<?php
Session::start();
if(isset($_SESSION['admin_name'])){
//session存在不用验证权限
$user = User::get([
'user_name' => $_SESSION['admin_name']
]);
//更改数据库信息,登录了就根据session把status改为1,退出或注销就改为0
Db::table('think_user')->where('user_name', $_SESSION['admin_name'])->update(['status' => 1]);
}这样用户登陆之后根据用户的session存值进行数据库的修改操作,把status状态改为1表示已登录
修改前端展示代码即可显示用户登录状态:
<?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}效果展示:

数据库改变:

