ThinkPHP登录功能的实现方法


Posted in PHP onAugust 20, 2014

登陆功能是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。

完整实现代码如下:

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)
{
//$_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()
{
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'))

上述就是ThinkPHP登录功能的实现方法全部内容。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
php与mysql建立连接并执行SQL语句的代码
Jul 04 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
php生成RSS订阅的方法
Feb 13 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
php将远程图片保存到本地服务器的实现代码
Aug 03 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
Jul 15 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 #PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 #PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 #PHP
PHP面向对象程序设计之接口用法
Aug 20 #PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 #PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 #PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
Aug 20 #PHP
You might like
模仿OSO的论坛(二)
2006/10/09 PHP
php实现字符串翻转的方法
2015/03/27 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
2013/11/25 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
python获取当前计算机cpu数量的方法
2015/04/18 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
django model通过字典更新数据实例
2020/04/01 Python
pandas数据处理之绘图的实现
2020/06/15 Python
HTML5 Canvas 破碎重组的视频特效的示例代码
2019/09/24 HTML / CSS
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
机械制造毕业生求职信
2014/03/03 职场文书
终止劳动合同协议书
2014/10/05 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书
Nginx代理同域名前后端分离项目的完整步骤
2021/03/31 Servers
Java实现房屋出租系统详解
2021/10/05 Java/Android