【问题标题】:CodeIgniter - Multiple view with sessionCodeIgniter - 带有会话的多个视图
【发布时间】:2013-12-31 04:52:29
【问题描述】:

当我在控制器中使用嵌套视图时,我不确定为什么会收到此错误。

错误信息:

遇到错误

无法加载请求的文件:.php

这是我的管理员页面的控制器,它加载带有会话的视图。

控制器:

//...
function index()
 {
   if($this->session->userdata('logged_in'))
   {
     $session_data = $this->session->userdata('logged_in');
     $data_user['username'] = $session_data['username'];

     $data['main'] = $this->load->view('admin/dashboard', $data_user);
     $this->load->view('template', $data);
   }
   else
   {
     //If no session, redirect to login page
     redirect('login', 'refresh');
   }
 ...//

我认为当我在使用会话的 admin 文件夹中加载 template.phpdashboard.php 时可能有问题。

【问题讨论】:

    标签: php codeigniter session frameworks


    【解决方案1】:

    您需要在视图文件中加载另一个视图,例如

    if($this->session->userdata('logged_in'))
       {
         $session_data = $this->session->userdata('logged_in');
         $data['username'] = $session_data['username'];
    
         $data['main'] = 'admin/dashboard';
         $this->load->view('template', $data);
       }
    

    在您的视图/template.php 中

    $this->load->view($main);
    

    【讨论】:

      【解决方案2】:

      您可以通过

      加载多个视图
      $this->load->view('admin/dashboard', $data_user);
      $this->load->view('template', $data);
      

      【讨论】:

        【解决方案3】:

        在你的控制器中改变如下

        <?php
        function index()
         {
           if($this->session->userdata('logged_in')){
             $session_data = $this->session->userdata('logged_in');
             $data_user['username'] = $session_data['username'];
        
             $data['main'] = 'admin/dashboard'; 
             $data['view_data']=$data_user['username'];
             $this->load->view('template', $data);
           }
           else
           {
             //If no session, redirect to login page
             redirect('login', 'refresh');
           }
         ...//
        ?>
        

        在模板中

        <?php 
        $this->load->view('header');
        $this->load->view($main,$view_data);
        $this->load->view('footer');
        ?>
        

        【讨论】:

          猜你喜欢
          • 2022-06-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多