您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)使用laravel框架怎么實(shí)現(xiàn)一個(gè)后臺(tái)登錄功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
//登錄 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'); }
看完上述內(nèi)容,你們對(duì)使用laravel框架怎么實(shí)現(xiàn)一個(gè)后臺(tái)登錄功能有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。