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
我的论坛源代码(四)
Oct 09 PHP
PHP 函数学习简单小结
Jul 08 PHP
解析使用ThinkPHP应该掌握的调试手段
Jun 20 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
php生成随机颜色的方法
Nov 13 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
php parse_str() 函数的定义和用法
May 23 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
Feb 06 PHP
PHP基于array_unique实现二维数组去重
Jul 14 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
如何提高数据访问速度
2016/12/26 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python中反射用法实例
2015/03/27 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
python操作oracle的完整教程分享
2018/01/30 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
超实用的 30 段 Python 案例
2019/10/10 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
中科软笔试题和面试题
2014/10/07 面试题
任课老师推荐信范文
2013/11/24 职场文书
大学生求职信
2014/06/17 职场文书
护士找工作求职信
2014/07/02 职场文书
乡镇保密工作责任书
2014/07/28 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
2014年销售工作总结
2014/12/01 职场文书
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技
JS高级程序设计之class继承重点详解
2022/07/07 Javascript