我有一个表单,其中有两种类型的fieldsmeans输入文本,收音机,选择,textarea和文件上传字段。
我使用相同的表格进行插入和编辑
我的问题是我必须上传文件并在表格中插入数据
控制器功能
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;
}
}
现在的问题是,如果上传图像并且会再次显示表单输入错误表单,用户将更正表单字段并再次填充图像字段。然后图像将再次上传 当我首先定义输入条件然后上传同样的问题时,同样的事情就会发生。我怎么能解决这个问题呢?还有其他方法可以完成这项任务。
答案 0 :(得分:0)
经过一番研究后,我找到了解决方案
使用Codeigniter表单验证库
http://codeigniter.com/user_guide/libraries/form_validation.html
和
http://keighl.com/post/codeigniter-file-upload-validation
一篇好文章。解决我的问题