ファイルのアップロードに使用したのと同じページにユーザーをリダイレクトして、ファイルのアップロード中に発生したエラーを表示したいと思います。重要なのは、そのページにいくつかの入力を事前に入力しているためredirect(controller/method_to_load_page)
、データの入力が実行されないため、使用できません。
使用も機能し$this->load->view('add_page',$error);
ません(私が使用している方法)。これは、エラーは表示されますが、事前入力されたデータを含む入力フィールドは表示されないためです。
これは、ファイルと他のフィールドをアップロードするためにフォームをロードする私のコントローラーのメソッドです。
public function add_products_page()
{
//get each categories subcategory and place them in their own variable
$data['categories1'] = $this->admin_model->getSubcategories('1');
$data['error'] = '';
$this->load->view('add_page',$data);
}
そして、そのページから、ユーザーはフォームに入力して画像を選択できます。次に、フォームは同じコントローラーでこのメソッドに送信されます。
public function add_book()
{
$id = $this->admin_model->add_book();
$config['file_name'] = $id;
$config['upload_path'] = './images/';
$config['allowed_types'] = 'jpg';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('add_page', $error);
}
else
{
redirect('admin/add_products_page', 'refresh');
}
}
エラーがない場合は、add_products_page()メソッドへのリダイレクトは問題ありませんが、エラーが発生した場合は、ビュー'add_page'が読み込まれ、エラーが表示されますが、それは呼ばれていません。
したがって、メソッドadd_products_pageを呼び出して入力フィールドにデータを入力することでビューをロードする方法と、エラーが発生したときにエラーを表示する方法の両方を知りたいと思います。誰か助けていただければ幸いです。