今天就跟大家聊聊有关使用laravel框架怎么实现一个后台登录功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
//登录
public function logins){
//post方式则为登录操作
ifRequest)->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');
}
}elseifRequest)->isMethod'get')){//如果请求方式为get方式,说明为登录页面
return view'CloudAdmin/login');
}
}
接下来,我们看模型的一些操作
//登录操作判断
public static function admin_login$info){
ifempty$info['username'])){
$result['status']=205;
$result['message']="请输入用户名";
}else{
ifempty$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{
ifmd5$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');
}
