当前位置:首页 > PHP教程 > PHP常见问题

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。

完整实现代码如下:

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相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《smarty模板入门基础教程》及《php模板技术总结》。

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



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!