首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对每个控制器中的用户会话进行codeigniter检查

对每个控制器中的用户会话进行codeigniter检查
EN

Stack Overflow用户
提问于 2010-09-10 01:01:11
回答 7查看 67.4K关注 0票数 41

我在我的一个控制器中有一个私人会话,用于检查用户是否登录:

代码语言:javascript
运行
复制
function _is_logged_in() {

   $user = $this->session->userdata('user_data');

   if (!isset($user)) { 
      return false; 
   } 
   else { 
      return true;
   }

}

问题是我有多个控制器。如何在其他控制器中使用此函数?在每个控制器中重新定义函数并不是很“枯燥”。

有什么想法吗?

EN

Stack Overflow用户

发布于 2018-09-13 07:04:20

我根据上面的答案编写了如下代码。这是为我运行的创建文件my_helper.php

代码语言:javascript
运行
复制
<?php 
    function _is_logged_in() {
        if(isset($_SESSION['username'])){
            return true;        
        } else {
            return false;
        }
    }
?>

在autoload.php文件中编辑

代码语言:javascript
运行
复制
$autoload['helper'] = array('my');

在您的Controller文件中

代码语言:javascript
运行
复制
class Welcome extends CI_Controller {

    public function __construct(){
        parent::__construct();

        if(!_is_logged_in())  
        {
            redirect("Login");
        }
    }
}
票数 2
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3678798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档