本文实例讲述了thinkphp 5框架实现登陆,登出及会议登陆状态检测功能。分享给大家供大家参考,具体如下:
1,访问http://localhost/tp5/admin.php时,判断有没有登陆:
想法:写一个父类,继承控制器,然后定义一个初始化方法,在控制器调用时就判断是否登陆
?phpnamespace app Admin controller;使用思考控制器;使用思考会话;基本类扩展了控制器{ //如果你的控制器类继承了思考控制器类的话,可以定义控制器初始化方法_初始化,在该控制器的方法调用之前首先执行公共函数_initialize() { //判断有无管理_用户名这个会话,如果没有,跳转到登陆界面if(!会话(“admin _ username”){ 0返回$ this-错误('您没有登陆,url('登录/登录');} }}登陆界面:
!DOCTYPE html html lang=' en ' head meta charset=' UTF-8 ' meta name=' viewport ' content=' width=device-width,initial-scale=1.0 ' meta http-equiv=' X-UA-Compatible ' content=' ie=edge ' title document/title/head dy h1登陆/h1 div form class=' m-t '角色=' form ' action=' { URL('登录/登录')} 方法=' post ' div class=' input-field ' input id=' admin _ username ' type=' text ' name=' admin _ username ' class=' validate ' placeholder='请输入用户名='admin_username '的必需标签用户名/label/div class=' input-field ' input id=' admin _ password ' type=' password ' name=' admin _ password ' placeholder='请输入密码class='validate '是='admin_password '的必需标签密码/label/div按钮类型=' submit ' class=' waves-effect红灯-1 waves-light BTN全幅style=' margin-top :10 px; 高度' :40 px'登录/button/form/div/body/html(9500 . 163.com)
登陆控制器:
?phpnamespace app Admin controller;使用思考控制器;使用思考会话;使用思考请求;使用思考 Db类注册扩展了控制器{公共函数login(){//判断是否是邮政方法发送的数据:如果是则开始登陆if(request : instance()-isPost()){ $ admin _ username=input(' post。admin _ username’);//接收前台用户名$ admin _ password=input(' post。admin _ password’);//接收前台密码如果(空($admin_username) ||空($admin_password)){ $this-error('用户名或者密码不能为空!');} //从数据库读取数据$ admin _ info=db :3360名称(' admin ')-其中(' admin_username ',$ admin _ username)-find();如果(空($admin_info)){ $this-error('用户不存在,请重新登陆,url('登录/登录');}else{ if(md5($admin_password)!=$ admin _ info[' admin _ password ']){ $ this-error('密码不正确,请重新登陆,url('登录/登录');} else { session :3360 set(' admin _ username ',$ admin _ username);$this-success('登录成功!',网址('索引/索引');} } }else{//如果不是帖子,则返回登陆界面返回视图("登录");} }公共函数注销(){会话(null);//退出清空会话返回$this-success('退出成功,url('登录/登录');//跳转到登录页面} }
如果失败,回到登陆页面;如果登陆成功,跳转到后台首页:
?phpnamespace app Admin controller;使用思考控制器;使用思考会话;使用思考视图;//后台首页继承自登陆判断页面,每次加载都会先执行判断页面的代码类指数扩展了基本{公共函数索引(){ $ View=new View();$ data=session(' admin _ username ');$view-assign('data ',$ data);//返回视图(“索引”);返回$ view-fetch(' index ');}}后台首页面:
!DOCTYPE html html lang=' en ' head meta charset=' UTF-8 ' meta name=' viewport ' content=' width=device-width,initial-scale=1.0 ' meta http-equiv=' X-UA-Compatible ' content=' ie=edge ' title document/title/head dy!-h1你好,{ $ think。会话。admin _ username }/h1-h1 hello,{$data}/h1 a href='{:url('登录/注销)}“rel=”外部' nofollow '退出登陆/a/body/html更多关于框架相关内容感兴趣的读者可查看本站专题: 《ThinkPHP入门教程》 、 《thinkPHP模板操作技巧总结》 、 《ThinkPHP常用方法总结》 、 《codeigniter入门教程》 、 《CI(CodeIgniter)框架进阶教程》 、 《Zend FrameWork框架入门教程》 及《PHP模板技术总结》 。
希望本文所述对大家基于ThinkPHP框架的服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。