首页 > 编程 > PHP > 正文

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

2019-11-21 19:40:33
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表