簡體   English   中英

CI:未定義變量

[英]CI: Undefined Variable

我知道有人問過類似的問題,但仍然無法解決我的問題。 加載視圖時,出現以下錯誤,並且我知道$ id中有一個值。

消息:未定義的變量:id文件名:admin / upload_form.php行號:17

控制器:

public function getEventNameById( $id ) {
            $q = $this->event_model->getEventNameById( $id );            
            echo "Event Name: ".$q."</p>";
            $data['id'] = $id;            
            $this->load->view('admin/upload_form',array('error' => ' ' ), $data);
}

視圖:

<body>
<div>
<?php echo $error;?>
<p>Event Image:</p>
<?php echo form_open_multipart('admin_upload/do_upload');?>

<input type="file" name="userfile" size="20" />
<br /><br />
<input type="hidden" id="iEventID" name="iEventID" value="<?php echo $id;?>" />
<input type="submit" value="upload event image" /> <input type="button" value="close" 
onclick="window.close()">

</form>
</div>
</body>

我需要做的是基於ID的查詢信息,然后將該ID傳遞給我的視圖,然后將其傳遞回另一個控制器功能,以用於更新數據庫中的記錄。 換句話說,我需要始終保留該ID。

任何幫助都將不勝感激。

您錯誤地傳遞了視圖數據:

您的代碼傳遞了3個參數:

$this->load->view('admin/upload_form', array('error' => ' ' ), $data);
//                |        1         |            2          |   3   |

您應該將所有數據傳遞給第二個參數:

$this->load->view('admin/upload_form', array('error' => ' ' ) + $data);
//                |        1         |                  2             |

第三個參數應該是布爾值,是直接打印數據(默認為false )還是將其存儲在變量中( true )。

我只是用+運算符組合了數組,但是使用它可能會更干凈:

$data['error'] = ''; // Not sure why this is needed, but I assume it is
$data['id'] = $id;   
$this->load->view('admin/upload_form', $data);

發生的是您的$data數組根本沒有傳遞給視圖,因此未定義變量。

參考: http : //codeigniter.com/user_guide/libraries/loader.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM