thinkphp5.0 如何获取登录用户的ip,并且通过session保存到数据库中

  1. //首先引入 Request 文件;
  2. use think\Request;
  3. $request = Request::instance();
  4. $request->ip();
session('username',$user['username']);
session('uid',$user['id']);
/*获取登录ip*/
$request = Request::instance();
session('uip',$request->ip());


模板中
<?php
namespace app\admin\model;
use think\Model;
use think\Db;
use think\captcha\Captcha;
use think\Request;

class Admin extends Model
{

    public function login($data){

        $captcha = new Captcha();
        if (!$captcha->check($data['code'])) {
            return 4;
        }

        $user=Db::name('admin')->where('username','=',$data['username'])->find();

        if($user){
            if($user['password'] == md5($data['password'])){
                session('username',$user['username']);
                session('uid',$user['id']);
                /*获取登录ip*/
                $request = Request::instance();
                session('uip',$request->ip());


                $log['loginname']=$_SESSION["think"]["username"];
                $log['ip']=$_SESSION["think"]["uip"];
                $log['logintime']=time();
                Db::table('tp_userlog')->insert($log);

                return 3; //信息正确
            }else{
                return 2; //密码错误
            }
        }else{
            return 1; //用户不存在
        }


    }


}

控制器中

<?php
namespace app\admin\controller;
use app\admin\controller\Base;
use think\Db;

use app\admin\model\Userlog as UserlogModel;

class Userlog extends Base
{

    public function lst()
    {

        $list = UserlogModel::name('userlog')->order('id','desc')->paginate(3);

        $this->assign('list',$list);

        return $this->fetch();
    }


    public function del()
    {

        $id = input('id');


            $result = db('Userlog')->where('id',$id)->delete();
            if ($result) {
                return $this->success('删除日志成功');
            }else{
                return $this->error('删除日志失败',url('lst'));
            }



    }


}

前台

<table class="table table-bordered table-hover">
    <thead class="">
    <tr>
        <th class="text-center">ID</th>
        <th class="text-center">登录用户名字</th>
        <th class="text-center">登录用户ip</th>
        <th class="text-center">登录时间</th>
        <th class="text-center">操作</th>
    </tr>
    </thead>
    <tbody>
    {volist name="list" id="vo"}
    <tr>
        <td align="center">{$vo.id}</td>
        <td align="center">{$vo.loginname}</td>
        <td align="center">{$vo.ip}</td>
        <td align="center">{$vo.logintime|date='Y-m-d H:i:s',###}</td>
        <td align="center">

            <a href="#" onClick="warning('确实要删除吗', '{:url('userlog/del',array('id'=>$vo['id']))}')"
               class="btn btn-danger btn-sm shiny">
                <i class="fa fa-trash-o"></i> 删除
            </a>
        </td>
    </tr>
    {/volist}

    </tbody>
</table>

猜你喜欢

转载自blog.csdn.net/qq_40270754/article/details/86065307
今日推荐