当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-19 10:47:12 浏览: 评论:0 

这篇文章主要介绍了laravel框架实现后台登录、退出功能,结合实例形式详细分析了Laravel框架后台登录、退出相关的请求发送、验证、session读写与删除等相关操作技巧,需要的朋友可以参考下。

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

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

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

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

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

  1. //登录操作判断 
  2. public static function admin_login($info){ 
  3.      if(emptyempty($info['username'])){ 
  4.        $result['status']=205; 
  5.        $result['message']="请输入用户名"
  6.      }else
  7.       if(emptyempty($info['pwd'])){ 
  8.         $result['status']=205; 
  9.         $result['message']='请输入密码'
  10.       }else
  11.         $user = DB::table('sc_admin')->where('username',$info['username'])->first(); 
  12.         if(!$user){ 
  13.           $result['status']=202; 
  14.           $result['message']="用户不存在"
  15.         }else
  16.           if(md5($info['pwd'])!=$user->password){ 
  17.           $result['status']=203; 
  18.           $result['message']="密码错误"
  19.         }else
  20.             $userinfo = array('uid'=>$user->id,'username'=>$user->username); 
  21.             Session::put('userinfo',$userinfo);//登录成功,存储当前登录用户的id和用户名 
  22.             //$time--将最后登录时间以及登录状态进行更新 
  23.             $time = array('last_login'=>date('Y-m-d H:i:s'),'login_status'=>1); 
  24.             DB::table('sc_admin')->where('id',$user->id)->update($time); 
  25.             //保存服务器信息 
  26.             $web = array
  27.               'IP' => $_SERVER['REMOTE_ADDR'], 
  28.               'login_time' => date('Y-m-d H:i:s',$_SERVER['REQUEST_TIME']), 
  29.               'webserver' => $_SERVER['SERVER_SOFTWARE'], 
  30.               'admin'=>Session::get('userinfo')['username'
  31.             ); 
  32.             //将服务器信息入库 
  33.             DB::table('sc_webinfo')->insert($web); 
  34.             $result['status']=200; 
  35.             $result['message']="登录成功"
  36.           } 
  37.         } 
  38.       } 
  39.     } 
  40.     return $result

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

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

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

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

Tags: laravel后台登录 laravel退出

分享到: