2016-11-08 9 views
0

私はパスと名前を保存すると、名前をデータベースに空のフィールドを返すときにPHPで画像をアップロードするフォームを持っているここで私のコードと私のデータベースの値は常に空のフィールドです、助けてくださいfilename空の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

私のコードは更新されましたが、ファイル名は空です。ファイルパスが正しく挿入されるため、 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

私はあなたのコードを使用していますが、画像名をdbに挿入すると、ファイル名は空フィールドを返します。イメージ名はまだ空ですが、エラーコードは表示されません –

+0

@AntonPrioHutomoデータベースの構造を教えていただけますか?たぶんあなたの構造データベースから –

関連する問題