laravel框架實(shí)現(xiàn)后臺(tái)登錄、退出功能示例
本文實(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ì)有所幫助。
- 教你一步步實(shí)現(xiàn)Android微信自動(dòng)搶紅包
- java模擬微信搶紅包的實(shí)例代碼
- IOS 實(shí)現(xiàn)微信自動(dòng)搶紅包(非越獄IPhone)
- 詳解利用redis + lua解決搶紅包高并發(fā)的問(wèn)題
- js仿微信搶紅包功能
- Laravel框架實(shí)現(xiàn)即點(diǎn)即改功能的方法分析
- laravel 實(shí)現(xiàn)用戶登錄注銷并限制功能
- 利用laravel+ajax實(shí)現(xiàn)文件上傳功能方法示例
- laravel框架關(guān)于搜索功能的實(shí)現(xiàn)
- Laravel框架實(shí)現(xiàn)利用中間件進(jìn)行操作日志記錄功能
- Laravel框架實(shí)現(xiàn)搶紅包功能示例
相關(guān)文章
如何動(dòng)態(tài)查看及加載PHP擴(kuò)展
這篇文章主要介紹了如何動(dòng)態(tài)查看及加載PHP擴(kuò)展,幫助大家更好的理解和學(xué)習(xí)使用PHP,感興趣的朋友可以了解下2021-04-04Zend Framework框架db類的分頁(yè)示例分享
這篇文章主要介紹了Zend Framework框架db類的分頁(yè)示例,代碼很簡(jiǎn)單,大家看一下注釋就可以使用了2014-03-03ThinkPHP5查詢數(shù)據(jù)及處理結(jié)果的方法小結(jié)
這篇文章主要介紹了ThinkPHP5查詢數(shù)據(jù)及處理結(jié)果的方法,結(jié)合實(shí)例總結(jié)分析了thinkPHP5常見(jiàn)查詢語(yǔ)句及查詢數(shù)據(jù)庫(kù)的三種方式,需要的朋友可以參考下2017-11-11Laravel中簡(jiǎn)約卻不簡(jiǎn)單的Macroable宏指令詳解
這篇文章主要給大家介紹了關(guān)于Laravel中簡(jiǎn)約卻不簡(jiǎn)單的Macroable宏指令的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-07-07php+js實(shí)現(xiàn)圖片的上傳、裁剪、預(yù)覽、提交示例
首先用到的語(yǔ)言是php、插件imgareaselect附下載地址,沒(méi)有太多花哨的樣式,喜歡的朋友可以學(xué)習(xí)下2013-08-08淺談PHP攔截器之__set()與__get()的理解與使用方法
下面小編就為大家?guī)?lái)一篇淺談PHP攔截器之__set()與__get()的理解與使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10Laravel 5框架學(xué)習(xí)之向視圖傳送數(shù)據(jù)
本文向大家展示的是Laravel5框架學(xué)習(xí)系列的第三篇文章,給大家講解的是如何向視圖傳送數(shù)據(jù),從無(wú)到有,十分細(xì)致,有需要的小伙伴可以參考下。2015-04-04codeigniter自帶數(shù)據(jù)庫(kù)類使用方法說(shuō)明
在 CodeIgniter 中,使用數(shù)據(jù)庫(kù)是非常頻繁的事情。你可以使用框架自帶的數(shù)據(jù)庫(kù)類,就能便捷地進(jìn)行數(shù)據(jù)庫(kù)操作2014-03-03Yii框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的CURD操作示例
這篇文章主要介紹了Yii框架實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的CURD操作,結(jié)合實(shí)例形式分析了Yii框架連接數(shù)據(jù)庫(kù)與CURD增刪改查等常見(jiàn)操作技巧,需要的朋友可以參考下2019-09-09