tp5登出_tp 5框架实现登录,登出及session登录状态检测功能示例
本文实例讲述了tp 5框架实现登录,登出及session登录状态检测功能。共享给大家供大家参考,详细如下:
1,访问http://localhost/tp5/admin.php时,判断有没有登录:
想法:写一个父类,继承controller,然后定义一个初始化方法,在控制器调用时就判断是否登录
namespace app\Admin\controller;
use think\Controller;
use think\Session;
class Basic extends Controller
{
//如果你的控制器类继承了\think\Controller类的话,可以定义控制器初始化方法_initialize,在该控制器的方法调用之前首先执行。
public function _initialize()
{
//判断有无admin_username这个session,如果没有,跳转到登录界面
if(!session('admin_username')){
return $this->error('您没有登录',url('Login/login'));
}
}
}
登录界面:
Document
登录
用户名
密码
登 录
登录控制器:
namespace app\Admin\controller;
use think\Controller;
use think\Session;
use think\Request;
use think\Db;
class Login extends Controller{
public function login(){
//判断是否是post方法发送的数据:如果是则开始登录
if (Request::instance()->isPost()){
$admin_username = input('post.admin_username');//接收前台用户名
$admin_password = input('post.admin_password');//接收前台密码
if(empty($admin_username) || empty($admin_password)){
$this->error("用户名或者密码不能为空!");
}
//从数据库读取数据
$admin_info = DB::name('admin')
->where('admin_username',$admin_username)
->find();
if(empty($admin_info)){
$this->error('用户不存在,请重新版登录',url('Login/login'));
}else{
if(md5($admin_password)!=$admin_info['admin_password']){
$this->error('密码不正确,请重新版登录',url('Login/login'));
}else{
Session::set('admin_username',$admin_username);
$this->success("登陆成功!",url('Index/index'));
}
}
}else{//如果不是post,则返回登录界面
return view('login');
}
}
public function logout(){
session(null);//退出清空session
return $this->success('退出成功',url('Login/login'));//跳转到登陆网页
}
}
如果失败,回到登录网页;如果登录成功,跳转到后台首页:
namespace app\Admin\controller;
use think\Controller;
use think\Session;
use think\View;
//后台首页继承自登录判断网页,每次加载都会先执行判断网页的代码
class Index extends Basic
{
public function index()
{
$view = new View();
$data = session('admin_username');
$view->assign('data',$data);
//return view('index');
return $view->fetch('index');
}
}
后台首网页:
Document
hello,{$data}
退出登录
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《TP入门教程》、《thinkPHP模板操作技巧总结》、《TP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家使用TP框架的PHP程序设计有所帮助。
tp5登出_tp 5框架实现登录,登出及session登录状态检测功能示例相关推荐
- python实现模拟浏览器登录_Python使用win32com实现的模拟浏览器功能示例
本文实例讲述了Python使用win32com实现的模拟浏览器功能.分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- #!/user/bin/env python ''' ...
- yii2 获取同一个账号登录的所有session_前端登录方案?这一篇就够了
登录是每个网站中都经常用到的一个功能,在页面上我们输入账号密码,敲一下回车键,就登录了,但这背后的登录原理你是否清楚呢?今天我们就来介绍几种常用的登录方式. Cookie + Session 登录 T ...
- 从零开始java安全权限框架篇(一):spring security配置登录登出的配置
目录 一:安全权限框架的选取 二:功能 三:登录登出 四:代码注释 1.将登陆交由Spring security完成 2.前台明文密码加密,与数据库比对 3.关键配置 4.自定义用户异常 5.ajax ...
- ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程
ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单 ...
- ThinkPHP---案例1登录登出和添加部门
配置文件分3类:系统配置文件,分组配置文件,应用配置文件 ①系统配置文件ThinkPHP/Conf/convention.php: ②分组 / 模块 /平台配置文件Home/Conf/config.p ...
- SSM项目图书馆管理系统,适合新人练手和毕设参考,功能首页展示 系统注册登录登出 用户管理 权限控制管理 书籍管理 图书借阅管理 个人借阅记录管理 书籍详细信息展示等
图书馆管理系统,系统采用B/S架构 系统采用框架:java+maven+stringboot+mybatis+mysql-plus+boostart(前端界面) 首页展示 内容后台管理 菜单权限管理 ...
- linux 执行程序 注销,Linux登录登出的过程 | Soo Smart!
最近一直遇到crontab执行脚本和手动执行结果不一样的问题.根据添加的echo语句已经确定crontab能够准时执行任务,可是脚本里的程序不能正确执行.唯一能确定的是环境变量问题,可是即使明确地写上 ...
- java php 单点登陆,cas实现单点登录,登出(java跟php客户端)(转)
cas实现单点登录,登出(java跟php客户端)(转)cas实现单点登录,登出(java和php客户端) (转) 最近项目中需要做单点登录,客户端包含java和php,java有几个应用程序,php ...
- 网易云信集成视频教程(四):如何快速实现iOS登录登出?
上期我们介绍了如何通过SDK实现自定义消息,第四期视频教程我们将教大家如何快速实现iOS系统下IM登录登出. 第四期 如何快速实现iOS登录登出? 8分钟视频手把手教你接入 文档详解 前期准备 1. ...
最新文章
- 负载均衡技术中的真集群和伪集群
- 塔防游戏的路径寻找算法分析
- html css 基础(标签选择,分页,行和块元素)
- aop注解配置切点 spring_Spring通过自定义注解灵活配置AOP切点
- C#中的深度学习:预处理硬币检测数据集
- android学习笔记---43_音乐播放器,音频采集,音乐播放,使用SoundPool播放音效
- 用 Python 创建你自己的加密货币(附源码)
- 软件开发模型、瀑布模型、V模型、原型模型、增量模型、螺旋模型、喷泉模型
- 互联网摸鱼日报(2022-10-17)
- Linux部署SSM项目
- 给机器人罗宾写一封英语回信_小学英语人教(13版三起点)六年级上册Unit1
- 11月8日 课程设计幸运抽奖系统
- 文件输入流和文件输出流
- XML解析之 MSXML应用总结 开发篇(上)
- php实现ts流切片,HLS-m3u8播放列表和ts切片(2)
- 【从蛋壳到满天飞】JS 数据结构解析和算法实现-Arrays(数组)
- 网页特效--图片淡入淡出效果
- vue+element实现美观大方好看的音乐网站,仿照咪咕音乐网
- 【阅读笔记】联邦学习实战——联邦个性化推荐案例
- 商业计划汇报PPT模板
热门文章
- js赋值后 改变现有数据会修改原来的数据的解决办法
- indexof java 返回值_Java之indexOf()方法
- git灰度发布版本_GitHub - cailin186/dubbo-gray: dubbo灰度发布系统
- 线性代数(3)矩阵与向量的乘积的两种理解
- (2)【全局路径规划】曲线拟合的方法--Dubins曲线与Reeds-Shepp曲线
- ensp基础网络攻击模拟
- AH8652小封装220伏如何做到固定电压5伏呢?
- 总投资95.6亿元|盛泽镇今年将实施82个重点项目
- JAVA追星网站计算机毕业设计Mybatis+系统+数据库+调试部署
- 华为Mate X遇上拼多多:分屏比价+多任务操作,拼单更简单