2013-01-08 54 views
0

我试图通过数据来查看,但它给了我这个错误: 未定义的变量:数据将数据传递到浏览笨

控制器:

public function article($page=1) 
{   
    $info = array(
     "module_name" => $this->module_name, 
     "view_name" => "cms/cms_view", // your view path 
     "error_msg" => "", 
     "error_type" => "", 
     "data" => array(
     'content'=>$this->cms_model->get_cms($page), 
     'test'=>'Hello world' 

     ), //data which will be sent to view 
    ); 
    $this->loadview->view($info); 
} 

型号:

public function get_cms($page) 
    { 
     $query = $this->db->get_where('article', array('art_id' => $page),1); 
     return $query->row(); 
    } 

查看:

<?php 
     echo $data->content; 
     ?> 
+0

[PHP:“Notice:Undefined variable”和“Notice:Undefined index”]的可能重复(http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-索引) –

回答

2

请注意最后一行。

控制器:关于如何加载视图here

public function article($page=1) { 

    $info = array(
     "module_name" => $this->module_name, 
     "view_name" => "cms/cms_view", // your view path 
     "error_msg" => "", 
     "error_type" => "", 
     "data" => array(
      'content'=>$this->cms_model->get_cms($page), 
      'test'=>'Hello world' 

     ), //data which will be sent to view 
    ); 
    $this->load->view('view_name', $info); 
} 

更多信息。

+0

谢谢,但这并没有解决问题。 如果信息没有被cms_view看到,那为什么当我尝试在视图中回显测试时,它显示正确:S。 –

+0

$ info不可见,但$ module_name,$ view_name等应该是可见的。$ data ['content']和$ data ['test']应该是可见的。 – Shomz

+0

我已阅读有关如何将数据从控制器传递到CodeIgniter中查看的文章https://www.cloudways.com/blog/how-to-pass-data-in-codeigniter/ –

0

我认为这个问题可能在你看来。 $ data变量在您的控制器中被设置为一个数组,但您将其视为一个对象。尝试使用

<?php 
    echo $data["content"]; 
?> 

在视图中,而是看看是否可以解决您的问题。