欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

laravel框架實(shí)現(xiàn)后臺(tái)登錄、退出功能示例

 更新時(shí)間:2019年10月31日 11:05:12   作者:珞珞珞珞珞珞珞mm  
這篇文章主要介紹了laravel框架實(shí)現(xiàn)后臺(tái)登錄、退出功能,結(jié)合實(shí)例形式詳細(xì)分析了Laravel框架后臺(tái)登錄、退出相關(guān)的請(qǐng)求發(fā)送、驗(yàn)證、session讀寫與刪除等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了laravel框架實(shí)現(xiàn)后臺(tái)登錄、退出功能。分享給大家供大家參考,具體如下:

我們?cè)趯懞笈_(tái)管理系統(tǒng)時(shí),登錄,退出是避免不了的,那我們?nèi)绾问褂胠aravel實(shí)現(xiàn)呢?

首先,我們來(lái)看看登錄如何實(shí)現(xiàn)?

//登錄
public function logins(){
        //post方式則為登錄操作
        if(Request()->isMethod('post')){
        $info = Request()->only('username','pwd');//過(guò)濾表單提交數(shù)據(jù),接受用戶名,密碼
        $result = Admin::admin_login($info);//此處為調(diào)用模型,進(jìn)行驗(yàn)證
        //根據(jù)模型返回的結(jié)果,進(jìn)行判斷登錄狀態(tài)
        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')){//如果請(qǐng)求方式為get方式,說(shuō)明為登錄頁(yè)面
          return view('CloudAdmin/login');
        }
    }

接下來(lái),我們看模型的一些操作

//登錄操作判斷
public static function admin_login($info){
     if(empty($info['username'])){
       $result['status']=205;
       $result['message']="請(qǐng)輸入用戶名";
     }else{
      if(empty($info['pwd'])){
        $result['status']=205;
        $result['message']='請(qǐng)輸入密碼';
      }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']="密碼錯(cuò)誤";
        }else{
            $userinfo = array('uid'=>$user->id,'username'=>$user->username);
            Session::put('userinfo',$userinfo);//登錄成功,存儲(chǔ)當(dāng)前登錄用戶的id和用戶名
            //$time--將最后登錄時(shí)間以及登錄狀態(tài)進(jìn)行更新
            $time = array('last_login'=>date('Y-m-d H:i:s'),'login_status'=>1);
            DB::table('sc_admin')->where('id',$user->id)->update($time);
            //保存服務(wù)器信息
            $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']
            );
            //將服務(wù)器信息入庫(kù)
            DB::table('sc_webinfo')->insert($web);
            $result['status']=200;
            $result['message']="登錄成功";
          }
        }
      }
    }
    return $result;
}

登錄成功之后,一切都是基于session存在的情況下操作的,如果session信息不存在,則會(huì)返回登錄界面;

再來(lái)看看退出操作:當(dāng)前點(diǎn)擊"退出"之后,我們應(yīng)該執(zhí)行那些操作?

//退出登錄,清除session,返回登錄頁(yè)面
public function login_out(){
    //點(diǎn)擊退出,將此用戶的登錄狀態(tài)改變?yōu)槲吹卿?
    $array=array('login_status'=>0);
    DB::table('sc_admin')->where('id',Session::get('userinfo')['uid'])->update($array);
    //刪除session信息
    Session::forget('userinfo');
    return redirect('login');
}

這就是一個(gè)簡(jiǎn)單的登錄,當(dāng)然,后臺(tái)登錄的管理,我們需要進(jìn)行判斷身份,在這里不多說(shuō)

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論