0

我有这样的登录表单

在此处输入图像描述

登录到应用程序,它显示这样的菜单 在此处输入图像描述

它一直很好,直到我点击一些菜单,然后它显示 在此处输入图像描述

这是我单击的链接的控制器,我认为keuangan它已经在菜单上,但是为什么keuangan当我单击菜单的某些链接时没有出现?

 function index()
{
    $data['title'] = 'QB Cash Advance Settlement';
    $this->load->view('menu',$data);
    $this->load->view('v/vcas');
}

这是c_menu控制器

function index()
{
    $data['title'] = "QB Dashboard";
    $data['jabatan'] = "Keuangan";
    $this->load->view('menu',$data);
    $this->load->view('body');
}

这是menu_view

<div id ="user">Selamat datang, <?php echo $jabatan; ?></div>

登录控制器

function login()
{   
    $username = $this->input->post('username');
    $jabatan = $this->input->post('jabatan');
    $this->form_validation->set_rules('username','Username','alpha_numeric|trim|required|xss_clean');
    $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');

     if($this->form_validation->run() == FALSE)
     {
         $this->load->view('login');
 }
  else
 {

         if($jabatan == 'keuangan')
         {
                 redirect('c_menu','refresh');
         }
         else if ($jabatan == 'hd')
         {
             echo $jabatan;
         }
         else
         {
             echo $jabatan;
         }
 }

我需要$data['title'] = 'keuangan'在每个控制器/索引中声明吗?

4

1 回答 1

1

您绑定到视图中的数据将不会保留。所以当你第一次加载菜单时它就在那里,因为你在控制器中设置了它:

$data['jabatan'] = "Keuangan";
$this->load->view('menu',$data);

但是,当您单击该链接时,它会转到另一个控制器。

$data['title'] = 'QB Cash Advance Settlement';
$this->load->view('menu',$data);

$data['jabatan']在绑定到视图之前未在此控制器中设置,这$data就是它未定义的原因。

于 2012-10-25T03:29:44.723 回答