本文实例讲述了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登录状态检测功能示例相关推荐

  1. python实现模拟浏览器登录_Python使用win32com实现的模拟浏览器功能示例

    本文实例讲述了Python使用win32com实现的模拟浏览器功能.分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- #!/user/bin/env python ''' ...

  2. yii2 获取同一个账号登录的所有session_前端登录方案?这一篇就够了

    登录是每个网站中都经常用到的一个功能,在页面上我们输入账号密码,敲一下回车键,就登录了,但这背后的登录原理你是否清楚呢?今天我们就来介绍几种常用的登录方式. Cookie + Session 登录 T ...

  3. 从零开始java安全权限框架篇(一):spring security配置登录登出的配置

    目录 一:安全权限框架的选取 二:功能 三:登录登出 四:代码注释 1.将登陆交由Spring security完成 2.前台明文密码加密,与数据库比对 3.关键配置 4.自定义用户异常 5.ajax ...

  4. ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程

    ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单编程 原文:ASP.NET Core 登录登出 - ASP.NET Core 基础教程 - 简单教程,简单 ...

  5. ThinkPHP---案例1登录登出和添加部门

    配置文件分3类:系统配置文件,分组配置文件,应用配置文件 ①系统配置文件ThinkPHP/Conf/convention.php: ②分组 / 模块 /平台配置文件Home/Conf/config.p ...

  6. SSM项目图书馆管理系统,适合新人练手和毕设参考,功能首页展示 系统注册登录登出 用户管理 权限控制管理 书籍管理 图书借阅管理 个人借阅记录管理 书籍详细信息展示等

    图书馆管理系统,系统采用B/S架构 系统采用框架:java+maven+stringboot+mybatis+mysql-plus+boostart(前端界面) 首页展示 内容后台管理 菜单权限管理 ...

  7. linux 执行程序 注销,Linux登录登出的过程 | Soo Smart!

    最近一直遇到crontab执行脚本和手动执行结果不一样的问题.根据添加的echo语句已经确定crontab能够准时执行任务,可是脚本里的程序不能正确执行.唯一能确定的是环境变量问题,可是即使明确地写上 ...

  8. java php 单点登陆,cas实现单点登录,登出(java跟php客户端)(转)

    cas实现单点登录,登出(java跟php客户端)(转)cas实现单点登录,登出(java和php客户端) (转) 最近项目中需要做单点登录,客户端包含java和php,java有几个应用程序,php ...

  9. 网易云信集成视频教程(四):如何快速实现iOS登录登出?

    上期我们介绍了如何通过SDK实现自定义消息,第四期视频教程我们将教大家如何快速实现iOS系统下IM登录登出. 第四期 如何快速实现iOS登录登出? 8分钟视频手把手教你接入 文档详解 前期准备 1. ...

最新文章

  1. 负载均衡技术中的真集群和伪集群
  2. 塔防游戏的路径寻找算法分析
  3. html css 基础(标签选择,分页,行和块元素)
  4. aop注解配置切点 spring_Spring通过自定义注解灵活配置AOP切点
  5. C#中的深度学习:预处理硬币检测数据集
  6. android学习笔记---43_音乐播放器,音频采集,音乐播放,使用SoundPool播放音效
  7. 用 Python 创建你自己的加密货币(附源码)
  8. 软件开发模型、瀑布模型、V模型、原型模型、增量模型、螺旋模型、喷泉模型
  9. 互联网摸鱼日报(2022-10-17)
  10. Linux部署SSM项目
  11. 给机器人罗宾写一封英语回信_小学英语人教(13版三起点)六年级上册Unit1
  12. 11月8日 课程设计幸运抽奖系统
  13. 文件输入流和文件输出流
  14. XML解析之 MSXML应用总结 开发篇(上)
  15. php实现ts流切片,HLS-m3u8播放列表和ts切片(2)
  16. 【从蛋壳到满天飞】JS 数据结构解析和算法实现-Arrays(数组)
  17. 网页特效--图片淡入淡出效果
  18. vue+element实现美观大方好看的音乐网站,仿照咪咕音乐网
  19. 【阅读笔记】联邦学习实战——联邦个性化推荐案例
  20. 商业计划汇报PPT模板

热门文章

  1. js赋值后 改变现有数据会修改原来的数据的解决办法
  2. indexof java 返回值_Java之indexOf()方法
  3. git灰度发布版本_GitHub - cailin186/dubbo-gray: dubbo灰度发布系统
  4. 线性代数(3)矩阵与向量的乘积的两种理解
  5. (2)【全局路径规划】曲线拟合的方法--Dubins曲线与Reeds-Shepp曲线
  6. ensp基础网络攻击模拟
  7. AH8652小封装220伏如何做到固定电压5伏呢?
  8. 总投资95.6亿元|盛泽镇今年将实施82个重点项目
  9. JAVA追星网站计算机毕业设计Mybatis+系统+数据库+调试部署
  10. 华为Mate X遇上拼多多:分屏比价+多任务操作,拼单更简单