laravel框架实现后台登录、退出功能示例
时间:2022-07-27
本文章向大家介绍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相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
- wordpress如何屏蔽wp-json(禁用REST API)
- 贝叶斯系列——贝叶斯与其他统计流派的区别和联系
- bootstrap tab切换如何让鼠标移动自动切换内容
- css自动换行如何设置?url太长会撑开页面
- Histogram of Oriented Gridients(HOG) 方向梯度直方图
- 动态规划系列之最长递增子序列问题解答
- Git SSH Key 生成步骤
- 如何将wordpress所有文章批量改为已发布状态
- dedecms提取某栏目及子栏目名称到首页怎么弄
- Bootstrap速学教程之简要介绍
- Ubuntu 安装 JDK8 的两种方式
- git命令-切换分支
- 如何让dedecms文章点击量增加一定的数值
- dedecms自增标签[field:global.autoindex/]的运用
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.1):一个简单的例子
- 详解Java解析XML的四种方法
- 《Java从入门到失业》第四章:类和对象(4.6):类路径
- 《Java从入门到失业》第四章:类和对象(4.5):包
- 《Java从入门到失业》第四章:类和对象(4.4):方法参数及传递
- 《Java从入门到失业》第四章:类和对象(4.3):一个完整的例子带你深入类和对象
- 《Java从入门到失业》第四章:类和对象(4.2):String类
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.9):数组(数组基本使用、数组的循环、数组拷贝、数组排序、多维数组)
- Establishing SSL connection without server identity verification is not recommended
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.8):流程控制(循环语句、while语句、for语句)
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.8):流程控制(选择语句、if-else语句、switch语句)
- 线上服务启动卡死,堆栈分析
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.7):运算符(自增自减、关系运算、逻辑运算、条件运算、位运算、赋值运算、类型转换)
- JavaWeb——MyBatis框架之多表查询操作实战案例总结(MyBatis1对1查询,MyBatis1对多查询,MyBatis多对多查询)
- kubernetes(二十二) 服务网格化istio入门