当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP登录功能的实现方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-07 11:33:07 浏览: 评论:0 

这篇文章主要介绍了ThinkPHP登录功能的实现方法,是采用ThinkPHP进行会员系统开发所必备的重要功能,需要的朋友可以参考下

登陆功能是PHP程序设计中常见的功能。本文ThinkPHP实例主要完成注册成功后进入首页,并告诉你是登录用户的功能。具体实现步骤如下:

第一步:在config.php文件中加上:

'USER_AUTH_KEY'=>'authId'

示例如下:

  1. <?php 
  2. if(!defined('THINK_PATH')) exit(); 
  3. return array
  4. // 定义数据库连接信息 
  5. 'DB_TYPE'=> 'mysql',// 指定数据库是mysql 
  6. 'DB_HOST'=> 'localhost'
  7. 'DB_NAME'=>'myuser'// 数据库名 
  8. 'DB_USER'=>'root'
  9. 'DB_PWD'=>''//您的数据库连接密码 
  10. 'DB_PORT'=>'3306'
  11. 'DB_PREFIX'=>'think_',//数据表前缀 
  12. 'USER_AUTH_KEY'=>'authId' 
  13. ); 
  14. ?> 

第二步:在AdminAction.class.php中的insert()代码中用:

Session::set(C('USER_AUTH_KEY'),$user);

保存登录用户名到session。

完整实现代码如下:

  1. public function insert() 
  2. header('Content-Type:text/html; charset=utf-8');//防止出现乱码 
  3. $user=$_POST['user']; 
  4. $this->verifyCheck(); 
  5. $Pagemodel = D("user"); 
  6. $vo = $Pagemodel->create();  
  7. if(false === $vodie($Pagemodel->getError()); 
  8. $topicid = $Pagemodel->add(); //add方法会返回新添加的记录的主键值 
  9. if($topicid
  10. //$_SESSION[C('USER_AUTH_KEY')]=$user;//不能用此句 
  11. Session::set(C('USER_AUTH_KEY'),$user); 
  12. //dump(Session::get('authId'));  
  13. echo "<script>alert('数据库添加成功');location.href='http://127.0.0.1/zhuce/index.php/index';</script>"
  14. 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'))是获取登录用户的名。

具体代码如下:

  1. public function index() 
  2. if(!Session::is_set(C('USER_AUTH_KEY'))) 
  3. //if(!isset($_SESSION['USER_AUTH_KEY'])||($_SESSION['USER_AUTH_KEY']==0))//不能用此句 
  4. $msg="用户没有登录";  
  5. else 
  6. $msg=Session::get(C('USER_AUTH_KEY')).'欢迎你回来'
  7. $this->assign('msg',$msg); 
  8. $this->display();  

第四步:首页显示模板,代码如下:

  1. <body> 
  2. {$msg}<br /> 
  3. 这是我的首页 
  4. </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登录功能的实现方法全部内容。

Tags: ThinkPHP登录功能

分享到: