2011-06-06 54 views
6

here我有以下控制器:笨的傳球數據,查看

class User extends CI_Controller { 
    public function Login() 
    { 
     //$data->RedirectUrl = $this->input->get_post('ReturnTo'); 
     $data = array(
       'title' => 'My Title', 
       'heading' => 'My Heading', 
       'message' => 'My Message' 
     ); 
     $this->load->view('User_Login', $data); 
    } 

    //More... 
} 

在我User_Login.php查看文件我這樣做:

<?php print_r($data);?> 

導致:

A PHP Error was encountered 
Severity: Notice 
Message: Undefined variable: data 
Filename: views/User_Login.php 
Line Number: 1 

我是否需要加載任何特定的模塊/幫助程序才能獲得$ data變量populat ED?如果我print_r($this),我可以看到很多東西,但我的數據除了在緩存中沒有我的數據

編輯:爲了澄清,我知道調用控制器和視圖中的變量相同不會「共享」它 - 它超出範圍,但在我鏈接的例子中,這似乎意味着在視圖的範圍內創建了一個$data變量。我只是碰巧在控制器中使用相同的名稱

+1

我會注意它像你一樣使用他們的測試數據來自用戶指南。再往下查看頁面,您會看到一個名爲「將動態數據添加到視圖」的部分,它顯示瞭如何處理您傳入的內容。請參閱:http://codeigniter.com/user_guide/general/views。html – mikeds 2011-06-06 20:47:32

回答

9

啊,$data數組的鍵被轉換成變量:例如,嘗試var_dump($title);

編輯:這是使用extract完成的。

+0

該死的 - 我覺得我應該已經發現了。謝謝! – Basic 2011-06-06 21:00:24

+0

我已閱讀詳細指南,瞭解如何從控制器傳遞價值以查看codigniter http://www.cloudways.com/blog/how-to-pass-data-in-codeigniter/ – 2017-08-21 12:09:23

6

你應該這樣做,如:

echo $title ; 
echo $heading; 
echo $message; 
4

或者你可以使用它像數組。 在控制器:

... 
$this->load->view('User_Login', array('data' => $data)); 
... 

在View:

<?php print_r($data);?> 

將顯示您的陣列([標題] =>我的標題[標題] =>我的標題[消息] =>我的信息)

+0

這正是我一直在尋找的。謝謝! – hellojebus 2016-02-04 04:24:34

1

,你可以在URL傳遞變量來

function regresion($value) { 

    $data['value'] = $value; 
    $this -> load -> view('cms/template', $data); 
} 

在視圖

<?php print_r($value);?> 
0

您不能打印變量$ data,因爲它是一個關聯數組....您可以打印關聯數組的每個元素.....請考慮以下示例。

不要做如下:

echo $data; 

操作步驟如下:

echo $title; 
echo $heading;  
echo $message; 
0

您可以用這種方式也

$data['data]=array('title'=>'value'); 
 
    $this->load->view('view.php',$data);