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 相关文章推荐
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 PHP
Java中final关键字详解
Aug 10 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
php集成动态口令认证
Jul 21 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
给大家分享几个常用的PHP函数
Jan 15 PHP
yii2简单使用less代替css示例
Mar 10 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 PHP
php获取是星期几的的一些常用姿势
Dec 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
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
python冒泡排序算法的实现代码
2013/11/21 Python
使用python实现rsa算法代码
2016/02/17 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Python基础知识点 初识Python.md
2019/05/14 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
python基于opencv实现人脸识别
2021/01/04 Python
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
阿尔卡特(中国)的面试题目
2014/08/20 面试题
卫校毕业生自我鉴定
2013/10/31 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
深入理解python多线程编程
2021/04/18 Python