laravel框架實(shí)現(xiàn)后臺(tái)登錄、退出功能示例
本文實(shí)例講述了laravel框架實(shí)現(xiàn)后臺(tái)登錄、退出功能。分享給大家供大家參考,具體如下:
我們?cè)趯?xiě)后臺(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ù),接受用戶(hù)名,密碼
$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)輸入用戶(hù)名";
}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']="用戶(hù)不存在";
}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)前登錄用戶(hù)的id和用戶(hù)名
//$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)擊退出,將此用戶(hù)的登錄狀態(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)容感興趣的讀者可查看本站專(zhuān)題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《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)用戶(hù)登錄注銷(xiāo)并限制功能
- 利用laravel+ajax實(shí)現(xiàn)文件上傳功能方法示例
- laravel框架關(guān)于搜索功能的實(shí)現(xiàn)
- Laravel框架實(shí)現(xiàn)利用中間件進(jìn)行操作日志記錄功能
- Laravel框架實(shí)現(xiàn)搶紅包功能示例
相關(guān)文章
php封裝好的人民幣數(shù)值轉(zhuǎn)中文大寫(xiě)類(lèi)
這篇文章主要給大家分享了幾個(gè)php實(shí)現(xiàn)的人民幣數(shù)值轉(zhuǎn)中文大寫(xiě)的代碼,非常的全面,有需要的小伙伴可以查看下2015-12-12
laravel框架上傳圖片實(shí)現(xiàn)實(shí)時(shí)預(yù)覽功能
今天小編就為大家分享一篇laravel框架上傳圖片實(shí)現(xiàn)實(shí)時(shí)預(yù)覽功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
Laravel5.5中利用Passport實(shí)現(xiàn)Auth認(rèn)證的方法
Laravel5.3 開(kāi)始使用Passport作為API授權(quán),Passport 是基于 OAuth2 的,下面這篇文章主要給大家介紹了關(guān)于Laravel5.5中利用Passport實(shí)現(xiàn)Auth認(rèn)證的方法,文中通過(guò)示例代碼介紹介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-12-12
TP5(thinkPHP5)框架使用ajax實(shí)現(xiàn)與后臺(tái)數(shù)據(jù)交互的方法小結(jié)
這篇文章主要介紹了TP5(thinkPHP5)框架使用ajax實(shí)現(xiàn)與后臺(tái)數(shù)據(jù)交互的方法,結(jié)合實(shí)例形式總結(jié)分析了thinkPHP5使用ajax與后臺(tái)數(shù)據(jù)交互的兩種實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
yii2.0使用Plupload實(shí)現(xiàn)帶縮放功能的多圖上傳
這篇文章主要介紹了yii2.0使用Plupload實(shí)現(xiàn)帶縮放功能的多圖上傳的相關(guān)資料,需要的朋友可以參考下2015-12-12
php編寫(xiě)的簡(jiǎn)單頁(yè)面跳轉(zhuǎn)功能實(shí)現(xiàn)代碼
這篇文章主要介紹了php編寫(xiě)的簡(jiǎn)單頁(yè)面跳轉(zhuǎn)功能實(shí)現(xiàn)代碼,有需要的朋友可以參考一下2013-11-11
自定義Laravel (monolog)日志位置,并增加請(qǐng)求ID的實(shí)現(xiàn)
今天小編就為大家分享一篇自定義Laravel (monolog)日志位置,并增加請(qǐng)求ID的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
支付寶支付開(kāi)發(fā)——當(dāng)面付條碼支付和掃碼支付實(shí)例
這篇文章主要介紹了支付寶支付開(kāi)發(fā)——當(dāng)面付條碼支付和掃碼支付實(shí)例,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11

