`

ThinkPHP登录功能实例代码详解

    博客分类:
  • php
阅读更多

分享下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模型实例详解【离线版-时时更新,值得收藏与学习】

    ThinkPHP5模型实例详解【离线版-时时更新,值得收藏与学习】

    ThinkPHP5.0入门实例教程.pdf

    正确的ThinkPHP学习步骤:一、跟着入门实例教程做一遍所有实例,不明白的参看快速入门;二、通读快速入门;三、进入项目开发实战,参看完全开发手册。 每天两小时的话,估计三个月可达到中级水平。 按此步骤越学越有...

    thinkPHP 导入excel详解实例

    thinkPHP 导入excel详解实例,亲测可用,有需要的同学拿走

    thinkPHP分页功能实例详解

    主要介绍了thinkPHP分页功能,结合完整实例形式分析了thinkPHP基于商品模型实现分页功能的相关操作技巧,需要的朋友可以参考下

    ThinkPHP权限认证Auth实例详解

    本文以实例代码的形式深入剖析了ThinkPHP权限认证Auth的实现原理与方法,具体步骤如下: mysql数据库部分sql代码: -- ---------------------------- -- Table structure for think_auth_group -- ----------------...

    thinkphp命名空间用法实例详解

    本文实例讲述了thinkphp命名空间用法。分享给大家供大家参考,具体如下: 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制。 需要给类库定义...

    ThinkPHP之M方法实例详解

    D方法的强大则体现在你封装的自定义模型类有多强,不过随着新版ThinkPHP框架的基础模型类的功能越来越强大,M方法也比D方法越来越实用了。 M方法的调用格式: M(‘[基础模型名:]模型名’,’数据表前缀’,’数据库...

    PHP项目开发实战ThinkPHP_O2O平台网站_编程案例解析实例详解课程教程.pdf

    O2O是当今创业的热门领域,O2O的全称是online to offline,即将线下的商务机会和互联网结合起来,利用互联网传播消除信息壁垒。消费者可在线上完成交易,在线下享受实际服务。O2O和传统的B2C不一样:B2C侧重于购物,...

    基于ThinkPHP实现的日历功能实例详解

    主要介绍了基于ThinkPHP实现的日历功能,结合实例形式详细分析了基于thinkPHP实现日历功能的相关界面布局、数据库操作与日期时间运算相关技巧,需要的朋友可以参考下

    thinkphp5.0-php登录超时检测功能的类.zip

    主要介绍了php登录超时检测功能实例详解的相关资料(以thinkphp5.0版本为例),php登录超时问题,当用户超过一定时间没有操作页面时自动退出登录,原理是通过js进行访问判断的!

    ThinkPHP实现更新数据实例详解(demo)

    本文给大家介绍thinkphp实现更新数据的实例详解以及thinkphp更新数据库的五种方法,本文介绍的非常不错,具有参考借鉴价值,感兴趣的朋友可以参考下

    ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解

    主要介绍了ThinkPHP5联合(关联)查询、多条件查询与聚合查询,结合实例形式总结分析了thinkPHP5常用查询操作技巧,需要的朋友可以参考下

    ThinkPHP之R方法实例详解

    主要介绍了ThinkPHP的R方法,需要的朋友可以参考下

    thinkphp5.0-php登录超时检测功能的类

    php登录超时检测功能实例详解的相关资料(以thinkphp5.0版本为例),php登录超时问题,当用户超过一定时间没有操作页面时自动退出登录,原理是通过js进行访问判断的!

    ThinkPHP之N方法实例详解

    ThinkPHP的N方法属于计数器方法,这篇文章主要介绍了ThinkPHP的N方法,需要的朋友可以参考下

    ThinkPHP之import方法实例详解

    import方法是ThinkPHP框架用于类库导入的封装实现,这篇文章主要介绍了ThinkPHP的import方法,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics