未设置输出变量CodeIgniter


Output variable not being set CodeIgniter

我正在开发一个具有Grocery_CRUD扩展的CodeIgniter系统。我正在尝试将登录系统与CRUD应用程序集成。

目前,当用户登录时,我收到了这个错误,CRUD应用程序应该显示在哪里:

严重性:注意消息:未定义的变量:输出文件名:views/members_area.php行号:13

这是发生错误的线路:<?php echo $output; ?>

我意识到$output没有设置,但我不明白为什么!!有什么想法吗?

这是我的整个members_area.php文件:查看

<?php
echo '<span class="italic">'.date("l, F d, Y " ,time()).'</span>';
echo '<h3>Welcome: '.$this->session->userdata('username').' '. anchor('logout/signout', 'logout').'</h3>';
?>
<a href='<?php echo site_url('site/dishes_management')?>'>Dishes</a> |
<a href='<?php echo site_url('site/orders_management')?>'>Orders</a> 
<?php echo $output; ?>

这是我的site.php文件:控制器

<?php
class Site extends CI_Controller{
    function __construct(){
        parent::__construct();
        $this->is_logged_in();
        $this->load->database();
        $this->load->helper('url');
        $this->load->library('grocery_CRUD');
    }
    function members_area($output = null){
        $this->load->view('members_area', $output);
    }
    function is_logged_in(){
        $is_logged_in = $this->session->userdata('is_logged_in');
        if(!isset($is_logged_in) || $is_logged_in != true){
            echo 'You need to login to access this page. <a href="../login">Login</a>';
            die();
    }
    function dishes_management()
    {
        try{
            $crud = new grocery_CRUD();
            $crud->set_theme('datatables');
            $crud->set_table('dishes');
            $crud->set_subject('Dish');
            $crud->required_fields('dish_name');
            $crud->columns('dish_name','dish_desc','dish_price', 'dish_cat');
            $output = $crud->render();
            $this->members_area($output);
        }catch(Exception $e){
            show_error($e->getMessage().' --- '.$e->getTraceAsString());
        }
    }
    function orders_management()
    {
            $crud = new grocery_CRUD();
            $crud->set_relation('customerNumber','customers','{contactLastName} {contactFirstName}');
            $crud->display_as('customerNumber','Customer');
            $crud->set_table('orders');
            $crud->set_subject('Order');
            $crud->unset_add();
            $crud->unset_delete();
            $output = $crud->render();
            $this->members_area($output);
    }
}
}
?>

默认情况下,我希望members_area.php的输出设置为显示餐桌上的项目。这似乎不起作用。

任何帮助,一如既往,不胜感激!

您是否尝试将输出封装在数组中?

$this->load->view('members_area', array('output'=>$output));

$output['output'] = $output;
$this->load->view('members_area', $output);

您必须将其作为二维数组发送到视图上,codeigniter正试图从给定数据中查找output密钥,但找不到,因为您没有为视图提供合适的搜索数据。