分享下ThinkPHP登录功能的实现方法,是采用ThinkPHP进行会员系统开发所必备的重要功能,需要的朋友可以参考下
登陆功能是PHP程序设计中常见的功能。
本文ThinkPHP实例主要完成注册成功后进入首页,并告诉你是登录用户的功能。
具体步骤:
第一步:在config.php文件中加上:
'USER_AUTH_KEY'=>'authId'
示例如下:
<?php if(!defined('THINK_PATH')) exit(); return array( // 定义数据库连接信息 'DB_TYPE'=> 'mysql',// 指定数据库是mysql 'DB_HOST'=> 'localhost', 'DB_NAME'=>'myuser', // 数据库名 'DB_USER'=>'root', 'DB_PWD'=>'', //您的数据库连接密码 'DB_PORT'=>'3306', 'DB_PREFIX'=>'think_',//数据表前缀 'USER_AUTH_KEY'=>'authId' ); ?>
第二步:在AdminAction.class.php中的insert()代码中用:
Session::set(C('USER_AUTH_KEY'),$user);
保存登录用户名到session。(php教程)
完整实现代码如下:
public function insert() { header('Content-Type:text/html; charset=utf-8');//防止出现乱码 $user=$_POST['user']; $this->verifyCheck(); $Pagemodel = D("user"); $vo = $Pagemodel->create(); if(false === $vo) die($Pagemodel->getError()); $topicid = $Pagemodel->add(); //add方法会返回新添加的记录的主键值 if($topicid) { // www.jbxue.com //$_SESSION[C('USER_AUTH_KEY')]=$user;//不能用此句 Session::set(C('USER_AUTH_KEY'),$user); //dump(Session::get('authId')); echo "<script>alert('数据库添加成功');location.href='http://127.0.0.1/zhuce/index.php/index';</script>"; } else throw_exception("<script>alert('数据库添加失败');history.back();</script>"); }
第三步:在IndexAction.class.php文件中用if(!Session::is_set(C('USER_AUTH_KEY')))判断用户登录了没有。
Session::get(C('USER_AUTH_KEY'))是获取登录用户的名。
具体代码如下:
public function index() { //www.jbxue.com if(!Session::is_set(C('USER_AUTH_KEY'))) //if(!isset($_SESSION['USER_AUTH_KEY'])||($_SESSION['USER_AUTH_KEY']==0))//不能用此句 { $msg="用户没有登录"; } else { $msg=Session::get(C('USER_AUTH_KEY')).'欢迎你回来'; } $this->assign('msg',$msg); $this->display(); }
第四步:首页显示模板,代码如下:
<body> {$msg}<br /> 这是我的首页 </body>
总结:
登录代码都是围绕写session,判断session,读session展开。
写session用:Session::set(C('USER_AUTH_KEY'),$user);
判断session用:if(!Session::is_set(C('USER_AUTH_KEY')));
读session用:Session::get(C('USER_AUTH_KEY'))
相关推荐
ThinkPHP5模型实例详解【离线版-时时更新,值得收藏与学习】
正确的ThinkPHP学习步骤:一、跟着入门实例教程做一遍所有实例,不明白的参看快速入门;二、通读快速入门;三、进入项目开发实战,参看完全开发手册。 每天两小时的话,估计三个月可达到中级水平。 按此步骤越学越有...
thinkPHP 导入excel详解实例,亲测可用,有需要的同学拿走
主要介绍了thinkPHP分页功能,结合完整实例形式分析了thinkPHP基于商品模型实现分页功能的相关操作技巧,需要的朋友可以参考下
本文以实例代码的形式深入剖析了ThinkPHP权限认证Auth的实现原理与方法,具体步骤如下: mysql数据库部分sql代码: -- ---------------------------- -- Table structure for think_auth_group -- ----------------...
本文实例讲述了thinkphp命名空间用法。分享给大家供大家参考,具体如下: 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制。 需要给类库定义...
D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了。 M方法的调用格式: M(‘[基础模型名:]模型名’,’数据表前缀’,’数据库...
O2O是当今创业的热门领域,O2O的全称是online to offline,即将线下的商务机会和互联网结合起来,利用互联网传播消除信息壁垒。消费者可在线上完成交易,在线下享受实际服务。O2O和传统的B2C不一样:B2C侧重于购物,...
主要介绍了基于ThinkPHP实现的日历功能,结合实例形式详细分析了基于thinkPHP实现日历功能的相关界面布局、数据库操作与日期时间运算相关技巧,需要的朋友可以参考下
主要介绍了php登录超时检测功能实例详解的相关资料(以thinkphp5.0版本为例),php登录超时问题,当用户超过一定时间没有操作页面时自动退出登录,原理是通过js进行访问判断的!
本文给大家介绍thinkphp实现更新数据的实例详解以及thinkphp更新数据库的五种方法,本文介绍的非常不错,具有参考借鉴价值,感兴趣的朋友可以参考下
主要介绍了ThinkPHP5联合(关联)查询、多条件查询与聚合查询,结合实例形式总结分析了thinkPHP5常用查询操作技巧,需要的朋友可以参考下
主要介绍了ThinkPHP的R方法,需要的朋友可以参考下
php登录超时检测功能实例详解的相关资料(以thinkphp5.0版本为例),php登录超时问题,当用户超过一定时间没有操作页面时自动退出登录,原理是通过js进行访问判断的!
ThinkPHP的N方法属于计数器方法,这篇文章主要介绍了ThinkPHP的N方法,需要的朋友可以参考下
import方法是ThinkPHP框架用于类库导入的封装实现,这篇文章主要介绍了ThinkPHP的import方法,需要的朋友可以参考下