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

吾爱主题 阅读:138 2021-09-15 16:38:00 评论:0

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

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

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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 //登录 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' );          }      }

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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 //登录操作判断 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信息不存在,则会返回登录界面;

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

?
1 2 3 4 5 6 7 8 9 //退出登录,清除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程序设计有所帮助。

原文链接:https://blog.csdn.net/lingluo110700/article/details/85120720

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容