0

我有一个表单,其中有两种类型的字段意味着输入 text 、 radio 、 select 、 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;
    }       

} 

现在的问题是,如果上传图像并且出现表单输入错误,表单将再次显示,用户更正表单字段并再次填写图像字段。然后图像将再次上传。
当我先定义输入条件然后上传同样的问题时,同样的事情会出现。我怎样才能解决这个问题?有没有其他方法可以完成这项任务。

4

1 回答 1

0

经过一番研究,我在这里找到了解决方案

使用 Codeigniter 表单验证库

http://codeigniter.com/user_guide/libraries/form_validation.html

http://keighl.com/post/codeigniter-file-upload-validation

一篇很棒的文章。解决我的问题

于 2012-09-07T12:18:41.940 回答