laravel框架实现后台登录、退出功能示例

时间:2022-07-27
本文章向大家介绍laravel框架实现后台登录、退出功能示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文实例讲述了laravel框架实现后台登录、退出功能。分享给大家供大家参考,具体如下:

我们在写后台管理系统时,登录,退出是避免不了的,那我们如何使用laravel实现呢?

首先,我们来看看登录如何实现?

//登录
public function logins(){
        //post方式则为登录操作
        if(Request()- isMethod('post')){
        $info = Request()- only('username','pwd');//过滤表单提交数据,接受用户名,密码
        $result = Admin::admin_login($info);//此处为调用模型,进行验证
        //根据模型返回的结果,进行判断登录状态
        if($result['status']==200){
          return redirect('index')- with('id',Session::get('userinfo')['uid']);
        }elseif($result['status']==205){
          return redirect('login')- with('msg',$result['message']);
        }elseif($result['status']==203){
          return redirect('login')- with('msg',$result['message']);
        }else{
          return redirect('login');
        }
        }elseif(Request()- isMethod('get')){//如果请求方式为get方式,说明为登录页面
          return view('CloudAdmin/login');
        }
    }

接下来,我们看模型的一些操作

//登录操作判断
public static function admin_login($info){
     if(empty($info['username'])){
       $result['status']=205;
       $result['message']="请输入用户名";
     }else{
      if(empty($info['pwd'])){
        $result['status']=205;
        $result['message']='请输入密码';
      }else{
        $user = DB::table('sc_admin')- where('username',$info['username'])- first();
        if(!$user){
          $result['status']=202;
          $result['message']="用户不存在";
        }else{
          if(md5($info['pwd'])!=$user- password){
          $result['status']=203;
          $result['message']="密码错误";
        }else{
            $userinfo = array('uid'= $user- id,'username'= $user- username);
            Session::put('userinfo',$userinfo);//登录成功,存储当前登录用户的id和用户名
            //$time--将最后登录时间以及登录状态进行更新
            $time = array('last_login'= date('Y-m-d H:i:s'),'login_status'= 1);
            DB::table('sc_admin')- where('id',$user- id)- update($time);
            //保存服务器信息
            $web = array(
              'IP' =  $_SERVER['REMOTE_ADDR'],
              'login_time' =  date('Y-m-d H:i:s',$_SERVER['REQUEST_TIME']),
              'webserver' =  $_SERVER['SERVER_SOFTWARE'],
              'admin'= Session::get('userinfo')['username']
            );
            //将服务器信息入库
            DB::table('sc_webinfo')- insert($web);
            $result['status']=200;
            $result['message']="登录成功";
          }
        }
      }
    }
    return $result;
}

登录成功之后,一切都是基于session存在的情况下操作的,如果session信息不存在,则会返回登录界面;

再来看看退出操作:当前点击”退出”之后,我们应该执行那些操作?

//退出登录,清除session,返回登录页面
public function login_out(){
    //点击退出,将此用户的登录状态改变为未登录
    $array=array('login_status'= 0);
    DB::table('sc_admin')- where('id',Session::get('userinfo')['uid'])- update($array);
    //删除session信息
    Session::forget('userinfo');
    return redirect('login');
}

这就是一个简单的登录,当然,后台登录的管理,我们需要进行判断身份,在这里不多说

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。