Php 在codeigniter 3中加载完整导航之前,检查活动会话

Php 在codeigniter 3中加载完整导航之前,检查活动会话,php,codeigniter,Php,Codeigniter,我有一个带索引功能的欢迎控制器: public function index() { $this->load->view('templates\header'); $this->load->view('welcome_message'); $this->load->view('templates\footer'); } 标题视图代码如下所示: <header> &

我有一个带索引功能的欢迎控制器:

public function index()
    {
        $this->load->view('templates\header');      
        $this->load->view('welcome_message');
        $this->load->view('templates\footer');
    }
标题视图代码如下所示:

<header>
    <div class="navbar navbar-default navbar-static-top" role="navigation">
        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand" href="<?php echo base_url() ?>">
                    Test App
                </a>
            </div>
        </div>
    </div>
</header>

您可以根据控制器中的用户会话选择要显示的内容

例如:

 if($this->session->userdata('username')<>NULL){ 
    $data['logged_in'] = 1;
 }else{
    $data['logged_in'] = 0;
 }
 $this->load->view('templates\header',$data);

您可以根据控制器中的用户会话选择要显示的内容

例如:

 if($this->session->userdata('username')<>NULL){ 
    $data['logged_in'] = 1;
 }else{
    $data['logged_in'] = 0;
 }
 $this->load->view('templates\header',$data);

为什么不使用
session\u status()

在其“评论”中发布的其中一个用户上,用于检查会话是否已启动的通用功能:

<?php
/**
* @return bool
*/
function is_session_started()
{
    if ( php_sapi_name() !== 'cli' ) {
        if ( version_compare(phpversion(), '5.4.0', '>=') ) {
            return session_status() === PHP_SESSION_ACTIVE ? TRUE : FALSE;
        } else {
            return session_id() === '' ? FALSE : TRUE;
        }
    }
    return FALSE;
}

// Example
if ( is_session_started() === FALSE ) session_start();
?>

为什么不使用
会话状态()

在其“评论”中发布的其中一个用户上,用于检查会话是否已启动的通用功能:

<?php
/**
* @return bool
*/
function is_session_started()
{
    if ( php_sapi_name() !== 'cli' ) {
        if ( version_compare(phpversion(), '5.4.0', '>=') ) {
            return session_status() === PHP_SESSION_ACTIVE ? TRUE : FALSE;
        } else {
            return session_id() === '' ? FALSE : TRUE;
        }
    }
    return FALSE;
}

// Example
if ( is_session_started() === FALSE ) session_start();
?>


谢谢。为了做到这一点,我需要使用部分通用代码保留两个不同的视图。我的意思是在两个不同的视图中重复代码的一小部分。看起来不太像,但这是正确的方法吗?索拉布试一下,改变了我的答案。谢谢。为了做到这一点,我需要使用部分通用代码保留两个不同的视图。我的意思是在两个不同的视图中重复代码的一小部分。“看起来不太像,但这是正确的方法吗?”索拉布试着这样做,改变了我的答案。
<?php
/**
* @return bool
*/
function is_session_started()
{
    if ( php_sapi_name() !== 'cli' ) {
        if ( version_compare(phpversion(), '5.4.0', '>=') ) {
            return session_status() === PHP_SESSION_ACTIVE ? TRUE : FALSE;
        } else {
            return session_id() === '' ? FALSE : TRUE;
        }
    }
    return FALSE;
}

// Example
if ( is_session_started() === FALSE ) session_start();
?>