我正在使用CodeIgniter
扩展程序的Grocery_CRUD
系统工作。我正在尝试将登录系统与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文件:Controller
<?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 :(得分:1)
您是否尝试将输出封闭在数组中?
$this->load->view('members_area', array('output'=>$output));
或
$output['output'] = $output;
$this->load->view('members_area', $output);
您必须在视图上将其作为二维数组发送,codeigniter正在尝试从给定数据中找到output
键,但由于您没有为要搜索的视图提供正确的数据而无法找到它。