標識使用者登入狀態

資料庫think_user表新加一個status欄位,使用者登入後會變更資料庫欄位來表示登入與線上狀態

使用者登陸成功後新增如下程式碼:

微信图片_20180307170227.png

存入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}

效果展示:

gif5新文件 (13).gif

##資料庫改變:

微信图片_20180307171108.png

繼續學習
||
<?php echo "登录状态表示";