php 实现退出登录的功能,laravel框架实现后台登录、退出功能示例

本文实例讲述了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框架的PHP程序设计有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值