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


Posted in PHP onOctober 31, 2019

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

PHP 相关文章推荐
一个多文件上传的例子(原创)
Oct 09 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
批量去除PHP文件中bom的PHP代码
Mar 13 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
Jul 07 PHP
PHP 之Section与Cookie使用总结
Sep 14 PHP
PHP5多态性与动态绑定介绍
Apr 03 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
PHP数据库操作二:memcache用法分析
Aug 16 PHP
php取出数组单个值的方法
Mar 12 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
Apr 06 PHP
TP5框架简单登录功能实现方法示例
Oct 31 #PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 #PHP
laravel 框架实现无限级分类的方法示例
Oct 31 #PHP
tp5框架的增删改查操作示例
Oct 31 #PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 #PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 #PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 #PHP
You might like
php5中类的学习
2008/03/28 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
Python对文件操作知识汇总
2016/05/15 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
Django框架模板用法入门教程
2019/11/04 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
酒店前厅员工辞职信
2014/01/08 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
高三毕业寄语
2014/04/10 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
金融与证券专业求职信
2014/06/22 职场文书
法制演讲稿
2014/09/10 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android
box-shadow单边阴影的实现
2023/05/21 HTML / CSS