Ошибка загрузки изображения не скрыть даже я загружаю изображение - PullRequest
0 голосов
/ 02 мая 2018

Я проверяю форму в бэкэнде в codeigniter, на клиентской стороне все поля работают нормально, но в поле изображения ошибка сохраняется, даже когда я прикрепляю изображение ... ниже приведен мой код, и я прилагаю снимок экрана для получения дополнительной информации. Пожалуйста, помогите в этом отношении. enter image description here

Вот код моего контроллера

  public function save(){
    $res = array();
    //form field validation rules
    $this->form_validation->set_rules('titlemaster', 'Main Title', 'required');
    if (!$this->form_validation->run()) {
        echo json_encode(array('mes' => 'text-danger', 'msg' => 'Ourpeople Main Title Required'));
        exit;
    }   
    $this->form_validation->set_rules('detailmaster', 'Main Detail', 'required');
    if (!$this->form_validation->run()) {
        echo json_encode(array('mes' => 'text-danger', 'msg' => 'Oupeople Main Description Required'));
        exit;
    }   
    $config['upload_path'] = 'fassets/images/oupeople';
    $config['allowed_types'] = 'jpg|jpeg|png|gif';
    $config['file_name'] = $_FILES['userfile']['name'];     
    $config['overwrite'] = TRUE;
    //Load upload library and initialize configuration
    $this->load->library('upload', $config);

    $ourpeoplesection = ($this->input->post('name')) . ($this->input->post('desig')) . ($this->input->post('aboutme')) . ($this->input->post('certification')) . ($this->upload->do_upload('userfile'));

    if (!empty($ourpeoplesection))
    {   
        $this->form_validation->set_rules('name', 'Name', 'required|max_length[25]');
        if (!$this->form_validation->run()) {
            echo json_encode(array('mes' => 'text-danger', 'msg' => 'Name Required'));
            exit;
        }           
        $this->form_validation->set_rules('desig', 'Designation', 'required|max_length[20]');
        if (!$this->form_validation->run()) {
            echo json_encode(array('mes' => 'text-danger', 'msg' => 'Designation Required'));
            exit;
        }   
        $this->form_validation->set_rules('aboutme', 'About Employee', 'required'); 
        if (!$this->form_validation->run()) {
            echo json_encode(array('mes' => 'text-danger', 'msg' => 'About Employee Required'));
            exit;
        }       
        $this->form_validation->set_rules('certification', 'Certification', 'required');
        if (!$this->form_validation->run()) {
            echo json_encode(array('mes' => 'text-danger', 'msg' => 'Certification Required'));
            exit;
        }           

        if(!$this->upload->do_upload('userfile'))
        {
            $error = 'Please upload Image file. <br>';
            //$error = $this->upload->display_errors('', '<br>');
            echo json_encode(array('mes' => 'alert-danger', 'msg' => $error));
            exit;           
        }

        $userData = array (
            'name' => $this->input->post('name'),
            'desig' => $this->input->post('desig'),
            'aboutme' => $this->input->post('aboutme'),
            'certification' => $this->input->post('certification'),
            'facebook' => $this->input->post('facebook'),
            'twitter' => $this->input->post('twitter'),
            'instagram' => $this->input->post('instagram'),
            'google' => $this->input->post('google'),           
            'userfile' =>  $this->upload->data('file_name'),
        );

        //Pass user data to model
        $insertData = $this->Ourpeoplemodel->insert($userData);         
    }
    $ourpeopleMaster = array(
        'titlemaster' => $this->input->post('titlemaster') ,
        'detailmaster' => $this->input->post('detailmaster')  
    );
    $insertUserData = $this->Ourpeoplemodel->insert_main($ourpeopleMaster);  
        //Storing insertion status message.
    if(($insertUserData && $insertData)){
        $res = array(
            'mes' => 'text-success',
            'msg' => "Record has been saved successfully.",
        );
        echo json_encode($res);
    } else {
        $res = array(
            'mes' => 'text-danger',
            'msg' => "Record not saved",
        );
        echo json_encode($res);
    }      
}   

здесь мой ввод HTML

<div class="form-group row">                                    
                <div class="col-md-6 col-xs-12">
                    <?php if(isset($ourpeople_master)){;?>
                    <input type="text" class="form-control input-sm" name="titlemaster" value="<?php echo set_value('titlemaster', $ourpeople_master->titlemaster);?>" placeholder="Main Title | max 25 characters" required="required">
                </div>
                <div class="col-md-6 col-xs-12">
                    <input type="text" class="form-control input-sm" name="detailmaster" value="<?php echo set_value('detailmaster', $ourpeople_master->detailmaster);?>" placeholder="Main Decription." required="required">
                </div>                  
                <?php }?> 
            </div>      
            <div class="form-group row">                                    
                <div class="col-md-4 col-xs-12">                        
                    <input type="text" class="form-control input-sm" name="name" value="" placeholder="Name Required">
                </div>
                <div class="col-md-4 col-xs-12">                    
                    <input type="text" class="form-control input-sm" name="desig" value="" placeholder="Designation Required">
                </div>
                <div class="col-md-4 col-xs-12">                                                                
                    <input type="file" name="userfile" class="form-control input-sm">   
                </div>
            </div>                                  
            <div class="form-group row">                                    
                <div class="col-md-12 col-sm-12">                       
                    <textarea name='aboutme' rows="1" class='form-control input-sm'  placeholder="About Employee Detail"></textarea>                                
                </div>
            </div>
            <div class="form-group row">                                    
                <div class="col-md-12 col-sm-12">                       
                    <textarea name='certification' rows="1" class='form-control input-sm' placeholder="Employee's Certifications Detail"></textarea>    
                </div>
            </div>  
            <div class="form-group row">                                    
                <div class="col-md-3 col-xs-12">
                    <input type="text" class="form-control input-sm" name="facebook" placeholder="Facebook Profile Link Here">
                </div>
                <div class="col-md-3 col-xs-12">
                    <input type="text" class="form-control input-sm" name="twitter" placeholder="Twitter Profile Link Here">
                </div>
                <div class="col-md-3 col-xs-12">
                    <input type="text" class="form-control input-sm" name="instagram" placeholder="Instagram Profile Link Here">
                </div>
                <div class="col-md-3 col-xs-12">
                    <input type="text" class="form-control input-sm" name="google" placeholder="Google Plus Profile Link Here">
                </div>
            </div>                          
            <div class="form-group row">                    
                <div class="col-md-12 text-right">
                    <button type="submit" class="btn btn-success btn-sm" id="save"><i class="fa fa-save"></i> Save</button>                                     
                </div>                                  
            </div>

1 Ответ

0 голосов
/ 02 мая 2018

Я думаю, что вы запутались в моем последнем ответе - вы можете использовать $_FILES['userfile']['name'], вам просто нужно обернуть его в isset или в этом случае empty, в противном случае уведомления сработают (и повлияют на ваш ответ json), если файл не загружен.

$config['upload_path'] = 'fassets/images/oupeople';
$config['allowed_types'] = 'jpg|jpeg|png|gif';
//$config['file_name'] = $_FILES['userfile']['name'];     
$config['overwrite'] = TRUE;
//Load upload library and initialize configuration
$this->load->library('upload', $config);

//$ourpeoplesection = ($this->input->post('name')) . ($this->input->post('desig')) . ($this->input->post('aboutme')) . ($this->input->post('certification')) . ($this->upload->do_upload('userfile'));

if (!empty($_FILES['userfile']['name']))
{   
    $this->form_validation->set_rules('name', 'Name', 'required|max_length[25]');
    if (!$this->form_validation->run()) {
        echo json_encode(array('mes' => 'text-danger', 'msg' => 'Name Required'));
        exit;
    }           
    $this->form_validation->set_rules('desig', 'Designation', 'required|max_length[20]');
    if (!$this->form_validation->run()) {
        echo json_encode(array('mes' => 'text-danger', 'msg' => 'Designation Required'));
        exit;
    }   
    $this->form_validation->set_rules('aboutme', 'About Employee', 'required'); 
    if (!$this->form_validation->run()) {
        echo json_encode(array('mes' => 'text-danger', 'msg' => 'About Employee Required'));
        exit;
    }       
    $this->form_validation->set_rules('certification', 'Certification', 'required');
    if (!$this->form_validation->run()) {
        echo json_encode(array('mes' => 'text-danger', 'msg' => 'Certification Required'));
        exit;
    }           

    if(!$this->upload->do_upload('userfile'))
    {
        $error = 'Please upload Image file. <br>';
        //$error = $this->upload->display_errors('', '<br>');
        echo json_encode(array('mes' => 'alert-danger', 'msg' => $error));
        exit;           
    }

    $userData = array (
        'name' => $this->input->post('name'),
        'desig' => $this->input->post('desig'),
        'aboutme' => $this->input->post('aboutme'),
        'certification' => $this->input->post('certification'),
        'facebook' => $this->input->post('facebook'),
        'twitter' => $this->input->post('twitter'),
        'instagram' => $this->input->post('instagram'),
        'google' => $this->input->post('google'),           
        'userfile' =>  $this->upload->data('file_name'),
    );

    //Pass user data to model
    $insertData = $this->Ourpeoplemodel->insert($userData);         
}

Я также хотел бы предложить вместо множества различных условий проверки формы просто иметь одно ...

$this->form_validation->set_rules('name', 'Name', 'required|max_length[25]');
$this->form_validation->set_rules('desig', 'Designation', 'required|max_length[20]');
$this->form_validation->set_rules('aboutme', 'About Employee', 'required'); 
$this->form_validation->set_rules('certification', 'Certification', 'required');
    if (!$this->form_validation->run()) {
        echo json_encode(array('mes' => 'text-danger', 'msg' => validation_errors()));
        exit;
    } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...