Php 代码点火器-用户登录时的动态菜单

Php 代码点火器-用户登录时的动态菜单,php,dynamic,undefined,codeigniter-2,Php,Dynamic,Undefined,Codeigniter 2,我需要一些指导。我正在尝试更改“登录”菜单项,当用户成功登录时,该菜单项会动态更改为“用户仪表板”。我尝试过从auth.php模型中传递值,在另一个名为home的控制器中,我有以下内容: /检查用户是否登录 $this->Auth_model->isLoggedIn() 我尝试将其应用于我的“main”控制器,并生成一个if/else语句,其中它有一个变量$menuName,该变量会根据它更改值,但当我加载页面时,它会显示undefined$menuName。我该怎么做 class Main e

我需要一些指导。我正在尝试更改“登录”菜单项,当用户成功登录时,该菜单项会动态更改为“用户仪表板”。我尝试过从auth.php模型中传递值,在另一个名为home的控制器中,我有以下内容:

/检查用户是否登录 $this->Auth_model->isLoggedIn()

我尝试将其应用于我的“main”控制器,并生成一个if/else语句,其中它有一个变量$menuName,该变量会根据它更改值,但当我加载页面时,它会显示undefined$menuName。我该怎么做

class Main extends CI_Controller {
 public $menu;

function __construct()
{
    parent::__construct();
    $this->load->database();
    $this->load->library('form_validation');
    $this->lang->load('auth');
    $this->load->Model('Auth_model');

    $l = $this->Auth_model->isLoggedIn();
    if((!isset($l))||($l==FALSE)){
        $menu = "logged";
    }
    else{
        $menu = "Log-in";
    }
}

public function index() {
    $this->load->helper(array('form'));
    $dataTitle['title'] ="The University Digest";
    $this->load->view('header', $dataTitle,$menu);
    $this->load->view('body_index');
    $this->load->view('footer');

}}

    class Auth_model extends CI_Model {


public function login($name, $password){
$password = sha1($password);
    $this->db->where('username',$name);
    $this->db->where('password',$password);
    $query = $this->db->get('user_account');
    if($query->num_rows()==1){
        foreach ($query->result() as $row){
            $data = array(
                        'username'=> $row->username,
                        'logged_in'=>TRUE
                    );
        }
        $this->session->set_userdata($data);
        return TRUE;
    }
    else{
        return FALSE;
  }    
}

public function isLoggedIn(){
        header("cache-Control: no-store, no-cache, must-revalidate");
        header("cache-Control: post-check=0, pre-check=0", false);
        header("Pragma: no-cache");
        header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
        $is_logged_in = $this->session->userdata('logged_in');

        if(!isset($is_logged_in) || $is_logged_in!==TRUE)
        {
            redirect('/');
            exit;
        }}
错误是
当用户成功登录时,您必须设置会话变量


由于在您的网站/Web应用程序中只有一个视图包含菜单栏,因此通过检查该会话变量的可用性,您可以决定页面中菜单链接的质量

请向我们展示控制器中获取现有菜单的代码,以及封装此调用的函数。另外,请为科学提供视图和模型。说真的,我们需要代码。