2013-01-08 88 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"]; 
?> 

在視圖中,而是看看是否可以解決您的問題。