2011-07-25 8 views
1

私は同様の質問がされていることを知っていますが、私はまだ私の問題を解決することができませんでした。私のビューが読み込まれると、以下のエラーが表示され、$ idに値があることがわかります。CI:定義されていない変数

メッセージ:未定義の変数:ID ファイル名:管理者/ 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を別のコントローラ機能に戻します私のデータベースのレコードを更新するために使用します。言い換えれば、私はIDを永続させる必要があります。

すべてのサポートをよろしくお願いいたします。

答えて

1

あなたは間違ってビューのデータを渡している:あなたのコードは、3つのパラメータ渡し

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

をあなたは二番目のパラメータにすべてのデータを渡す必要があります。

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

第三のparamをデータを直接印刷するかどうか(デフォルトはfalse)、それを変数(true)に格納するかどうかをブール値とみなします。したがって、あなたの$data配列が全くビューに渡されていませんでしたでした何が起こった

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

私はちょうど配列を結合する+演算子を使用しますが、おそらく、これを使用するためにきれいになります未定義の変数

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

+0

私はまっすぐに設定してくれてありがとうございます。 – user464180

関連する問題