2013-02-20 81 views
1

我正在使用Grocery_CRUD扩展名为CodeIgniter系统。我正在尝试将登录系统与CRUD应用程序集成。输出变量未设置CodeIgniter

目前我得到这个错误时,在用户登录时,应显示的CRUD应用程序:

严重性:注意 消息:未定义的变量:输出 文件名:观点/ 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有输出设置为显示来自餐桌的物品。这似乎没有工作。

任何帮助,一如既往,非常感谢!

+0

这真的很奇怪。你可以检查print_r和die为什么显示$ output = $ crud-> render(); 。例如:print_r($ output);死;如果仍有问题,请尝试从http://www.grocerycrud.com/documentation/create-crud-codeigniter-tutorial重新开始。你能告诉我你使用的是什么版本吗? – 2013-02-21 08:12:39

回答

1

你有没有尝试过在数组内输出?

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

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

你必须把它的意见,二维数组,笨正试图找到从给定的数据output关键,但无法找到它,因为你没有提供从视图中搜索适当的数据。