2016-11-08 2 views
0

У меня есть форма для загрузки изображений в php, когда я сохраняю путь и имя, имя возвращает пустое поле в базе данных таблицы, здесь мой код и значение в моей базе данных всегда пустое поле, пожалуйста, помогите мнеfilename return empty codeigniter

Регистрация контроллер

<?php 
/** 
* 
*/ 
class Registration extends CI_Controller { 

    function __construct() { 
     parent::__construct(); 
     //$this->load->library('upload'); 
     $this->load->helper('form'); 
    } 

    function index() { 
     $this->load->view('/registration/daftar'); 

    } 

    function add_user() { 
     $this->load->model('/daftar/Daftar_Model'); 
     $image_path = APPPATH. 'user_images/'; 
     $config['upload_path'] = $image_path; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size']  = '500'; 
     $config['max_height'] = '450'; 
     $config['max_width']  = '450'; 
     //$config['encrypt_name'] = TRUE; 
     $this->load->library('upload', $config); 
     $this->upload->initialize($config); 
     $path = $this->upload->data(); 
     $image_name1 = $path['file_name']; 
     $image_path1 = $path['file_path']; 
     //$this->upload->do_upload('foto'); 
     //$photo_data = $this->upload->data(); 

     $data = array(
      'username' => $this->input->post('username'), 
      'password' => $this->input->post('password'), 
      'email' => $this->input->post('email'), 
      'no_telepon' => $this->input->post('no_telepon'), 
      'alamat' => $this->input->post('alamat'), 
      'image_path' => $image_path1, 
      'image_name' => $image_name1 
      ); 

     $this->db->select('username'); 
     $this->db->where('username', $data['username']); 
     $result = $this->db->get('user'); 

     if($result->num_rows() > 0) { 
      echo "Udah ada"; 
      $this->output->set_header('refresh:2; url='.site_url("/registration")); 

     } else { 
      if(! $this->upload->do_upload('foto')) { 
       var_dump($this->upload->display_errors()); 
       //$this->load->view('/registration/daftar', $error); 
      } else { 
       //$data1 = array('upload_data' => $this->upload->data()); 
       $this->Daftar_Model->insert($data); 
       echo "Registrasi Berhasil"; 
       $this->output->set_header('refresh:2; url='.site_url("/login")); 
       //$this->load->view('/registration/daftar', $data1); 
      } 
     } 
    } 
} 

это моя форма

<html> 
<head> 
    <title>Daftar</title> 
    <body> 
    <?php 
    ?> 
     <h1><center>Daftar</center></h1> 
     <?php echo form_open_multipart('registration/registration/add_user'); ?> 
     <center> 
      Username <br> 
      <input type="text" name="username"> <br> 
      Password <br> 
      <input type="password" name="password"> <br> 
      Email <br> 
      <input type="text" name="email"> <br> 
      No Telepon <br> 
      <input type="text" name="no_telepon"> <br> 
      Alamat <br> 
      <textarea name="alamat" rows="6" cols="23"></textarea> <br> 
      </form> 
      Foto 
      <input type="file" name="foto"><br><br><br> 
      <input type="submit" name="submit" value="Daftar"> 
     </center> 
     </form> 
    </body> 
</head> 
</html> 
+0

Вы не загружаете хелперы и библиотеки в представлениях, загружаете их на контроллер или autoload.php – user4419336

+0

У меня есть обновленный код sir, но имя изображения по-прежнему остается пустым в db, я очень смущен, потому что путь к файлу правильно вставлен в db, но почему имя файла не вставлено –

ответ

0

вы проверить функцию add_user()?

Я предложил вам проверить статус загрузки, прежде чем вы сможете добавить в базу данных. Если вы загрузите код ошибки, они покажут вам ошибку, а затем вы узнаете, где ее исправить. Это должно быть:

if(!$this->upload->do_upload('foto')) 
{ 
    // Print the upload error 
    var_dump($this->upload->display_errors()); 
}else{ 
    $return = $this->upload->data(); 
    $image_name = $return['file_name']; 
    // your code add to database 
} 

Надеюсь, что эта помощь.

+0

Я использую ваш код sir, но когда я вставляю имя изображения в db, имя файла по-прежнему возвращает пустое поле, см. мой обновленный код, путь вставки файла в db, но имя изображения все еще пустое, на нем не отображается код ошибки –

+0

@AntonPrioHutomo Вы можете показать мне структуру своей базы данных? Возможно, это из вашей базы данных структуры –