我想要顯示上傳文件時產生的任何錯誤,方法是將用戶重定向回到他們用來上傳文件的頁面。問題是我預先在頁面上填充了一些輸入,所以我不能使用redirect(controller/method_to_load_page)
,因爲那樣做不會執行數據填充。如何輸出上傳錯誤爲flashdata - CodeIgniter
使用$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方法來填充我的視圖來填充我的輸入字段,並在出現錯誤時顯示錯誤。如果有人能幫助,我會很感激。
答案我使用的是在這裏:http://stackoverflow.com/questions/7934712/how-to-passing-validation-error-data-through-redirect – a7omiton 2013-02-27 20:41:08