本文實例講述了laravel框架實現后臺登錄、退出功能。分享給大家供大家參考,具體如下:
我們在寫后臺管理系統時,登錄,退出是避免不了的,那我們如何使用laravel實現呢?
首先,我們來看看登錄如何實現?
//登錄
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');
}
}
接下來,我們看模型的一些操作
//登錄操作判斷
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信息不存在,則會返回登錄界面;
再來看看退出操作:當前點擊"退出"之后,我們應該執行那些操作?
//退出登錄,清除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相關內容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優秀開發框架總結》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。
您可能感興趣的文章:- 教你一步步實現Android微信自動搶紅包
- java模擬微信搶紅包的實例代碼
- IOS 實現微信自動搶紅包(非越獄IPhone)
- 詳解利用redis + lua解決搶紅包高并發的問題
- js仿微信搶紅包功能
- Laravel框架實現即點即改功能的方法分析
- laravel 實現用戶登錄注銷并限制功能
- 利用laravel+ajax實現文件上傳功能方法示例
- laravel框架關于搜索功能的實現
- Laravel框架實現利用中間件進行操作日志記錄功能
- Laravel框架實現搶紅包功能示例