2017-03-13 12 views
0

CodeIgniterのをアップロードフォーム提出CodeIgniterのプロフィール画像は

ユーザー名の更新が

パスワードの更新は

ない - >画像のURLは削除

CONTROLLER

public function profil_guncelle($id) 
     { 


     if(!empty($_FILES['avatar']['name'])){ 
      $config['upload_path'] = 'uploads'; 
      $config['allowed_types'] = 'jpg|jpeg|png|gif'; 
      $config['width']  = 150; 
      $config['height'] = 50; 
      $config['file_name'] = $_FILES['avatar']['name']; 


      $this->load->library('upload',$config); 
      $this->upload->initialize($config); 

      if($this->upload->do_upload('avatar')){ 
       $uploadData = $this->upload->data(); 
       $picture = $uploadData['file_name']; 
      }else{ 
       $picture = ''; 
      } 
     }else{ 
      $picture = ''; 
     } 




     $this->form_validation->set_rules('user_pass', 'Parola', 'trim|required'); 
     $this->form_validation->set_rules('user_mail', 'E-Posta', 'trim|required'); 


     if ($this->form_validation->run() == FALSE) { 
      $this->session->set_userdata('profil_guncelle', validation_errors()); 
      $upload_error = array('error' => $this->upload->display_errors()); 
      redirect(base_url().'admin/users/profil/'.$id); 
     }else{ 

      $data=array(
      'user_pass' => $this->input->post('user_pass'), 
      'user_mail' => $this->input->post('user_mail'), 
      'avatar' => $picture 
      ); 

      if ($this->Database_Model->profil_guncelle($data, $id) ==true) { 
      $this->session->set_flashdata('profil_guncelle', 'Bilgileriniz başarıyla güncellendi.'); 
      redirect(base_url().'admin/users/profil/'.$id);  
     } 
    } 
} 

} 

データベースモデル

public function profil_guncelle($data, $id){ 
     $this->db->set($data); 
     $this->db->where('id', $id); 
     if ($this->db->update('users') ===true) { 
      return true; 
     }else{ 
      return false; 
     } 

    } 
+0

@MalikMudassarはい私は画像の男をアップロードしている間は間違いないと確信しているので、エラーはありません。コメントの前にコードを参照してください – Kelvin

+0

あなたの答えを感謝して@ケルビン –

答えて

2

最初に設定されて$picture''if $_FILES['avatar']['name']になると空です。画像ファイルが空になっている場合は、更新データにコース$画像の

$data=array(
'user_pass' => $this->input->post('user_pass'), 
'user_mail' => $this->input->post('user_mail'), 
'avatar' => $picture 
); 

をしようとしているときよりも

''に設定されます。あなたは配列を変更する:

$data=array(
     'user_pass' => $this->input->post('user_pass'), 
     'user_mail' => $this->input->post('user_mail'), 
    ); 
if($picture != ''){ 
    $data['avatar'] = $picture; 
} 
関連する問題