I have a form in which there are both types of fieldsmeans inputs text , radio , select , textarea and file upload fields.
I am using the same form for insert and edit.
My problem is that i have to upload file and insert the data in the table.
Controller functions
function myUploadwithInsert(){
if($category = $this->input->post())
{
$this->load->library('form_validation');
if(!$this->imageUpload()){
$error = array('error' => $this->upload->display_errors());
$this->load->view('my_view', $error);
}else{
$this->form_validation->set_rules('name', 'Category Title', 'trim|required');
if ($this->form_validation->run() == TRUE)
{
if ($id = $this->categories_model->create($category))
{
redirect('admin/categories');
}
}else{
$this->load->view('my_view');
}
}
}else{
$this->load->view('my_view');
}
}
public function uploadImage()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
return false;
}
else
{
$data = $this->upload->data();
return $data;
}
}
Now the problem is that if image is uploaded and there come a form input error form will be displayed again user rectifies the form fields and fills the image field again. Then the image will be uploaded again.
The same thing goes when i define the input condition first and then upload the same problem rises. How can i ivercome this problem? Is there anyother way to do this task.
After a little research i have found a solution here
Using Codeigniter Form Validation Library
http://codeigniter.com/user_guide/libraries/form_validation.html
And
http://keighl.com/post/codeigniter-file-upload-validation
A great article. Solver my problem