2017-02-17 12 views
0

私はCodeIgniterのを使って画像をアップロードするとのトラブルを持っています。私はこの中に新しいですし、CodeIgniterのを使用して画像をアップロードする方法で手掛かりを持ってdidin't。ので、私は君たちのいずれかがCodeIgniterの中に画像をアップロードする方法3

を私を助けることを願って、これは

<form method="POST" action="<?php echo base_url()."index.php/crud/insert"; ?  >"> 
    <table style="width:110%" class="table table-striped table table-bordered table table-hover"> 


      <td>Nama</td> 
      <td><input type="text" name="nama_produk"/></td> 
     </tr> 
     <tr> 
      <td>Info</td> 
      <td><input type="text" name="info_produk"/></td> 
     </tr> 
     <tr> 
      <td>Harga</td> 
      <td><input type="text" name="harga_produk"/></td> 
     </tr> 
     <tr> 
      <td>Stock</td> 
      <td><input type="text" name="stock"/></td> 
     </tr> 


    <?php echo form_open_multipart('upload/do_upload');?> 
     <tr> 
      <td>Gambar</td> 
      <td><input type="file" name="gambar_produk"></td> 
     </tr> 
     <tr> 
      <td>Di Buat Oleh</td> 
      <td><input type="text" name="penulis_produk"/></td> 
     </tr> 
     <tr> 
      <td>Kategori</td> 
      <td><input type="text" name="kategori"/></td> 
     </tr> 
     <tr> 
      <td>Kode Kategori</td> 
      <td><input type="text" name="kode_kategori"/></td> 
     </tr> 
     <tr> 
      <td></td> 
      <td><input type="submit" name="btnsubmit" value="Simpan" /></td> 
     </tr> 
    </table> 
    </form> 

form_add.phpという名前の私の形態であり、これは名前の私のコントローラcrud.php

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Crud extends CI_Controller { 
public function __construct() 
    { 
      parent::__construct(); 
      $this->load->helper(array('form', 'url')); 
    } 

public function index(){ 
    $data = $this->mymodel->GetAll(); 

    $this->load->view('view_all_produk',array('data' => $data)); 

} 

public function add_data(){ 
    $this->load->view('form_add'); 

} 


public function insert(){ 
    $nama_produk = $_POST['nama_produk']; 
    $info_produk = $_POST['info_produk']; 
    $harga_produk = $_POST['harga_produk']; 
    $stock = $_POST['stock']; 
    $penulis_produk = $_POST['penulis_produk']; 
    $gambar_produk = $_FILES['gambar_produk']['name']; 
    $gambar_tmp = $_FILES['gambar_produk']['tmp_name']; 
    $kategori = $_POST['kategori']; 
    $kode_kategori = $_POST['kode_kategori']; 
    $data_insert = array(
     'nama_produk' => $nama_produk, 
     'info_produk' => $info_produk, 
     'harga_produk' => $harga_produk, 
     'stock' => $stock, 
     'penulis_produk' => $penulis_produk, 
     'gambar_produk' => $gambar_produk, 
     'kategori' => $kategori, 
     'kode_kategori' => $kode_kategori 
    ); 
    $res = $this->mymodel->insertData('produk',$data_insert); 
    if($res >= 1){ 
     $this->session->set_flashdata('pesan','Tambah Data Sukses'); 
     redirect('crud/index'); 
    }else{ 
     echo "<h2>Insert Data Gagal!!!</h2>"; 

    } 

    } 

    public function do_upload() 
    { 
      $config['upload_path']   = './assets/images'; 
      $config['allowed_types']  = 'gif|jpg|png'; 
      $config['max_size']    = 300; 
      $config['max_width']   = 1024; 
      $config['max_height']   = 768; 

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

      if (! $this->upload->do_upload('gambar_produk')) 
      { 
        $error = array('error' => $this->upload- >display_errors()); 

        $this->load->view('form_add', $error); 
      } 
      else 
      { 
        $data = array('upload_data' => $this->upload->data()); 


      } 
    } 

であり、これはありますモデルの名前mymodel.php

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Mymodel extends CI_Model { 
public function GetAll($where="") { 

    $data = $this->db->query('select * from produk '.$where); 
    return $data -> result_array(); 


} 

public function insertData($tableName,$data){ 
     $res = $this->db->insert($tableName,$data); 
     return $res; 

} 

    public function updateData($tableName,$data,$where){ 
     $res = $this->db->update($tableName,$data,$where); 
     return $res; 

} 
public function GetKategori($where=""){ 
    $data = $this->db->query('select * from kategori '.$where); 
    return $data; 
} 
} 

もこれは私がそれを実行した後に示したものです

A PHPエラーが

重大度発生しました:

メッセージを注意:未定義のインデックス:gambar_produkを

ファイル名:コントローラー/ crud.php

行番号:30

バックトレース:

ファイル:C:\ xamppの\ htdocsに\ genstore \管理\アプリケーション\コントローラ\ crud.php ライン:30 機能:_error_handler

ファイル:C:\ xamppの\ htdocsに\ genstore \管理者\ index.phpを ライン:315 機能:


PHPのrequire_onceエラーが発生しました

重大度:注意

メッセージ:未定義のインデックス:gambar_produk

ファイル名:コントローラー/ crud.php

行番号:31

バックトレース:

ファイル:C:\ xamppの\ htdocsに\ genstore \管理\アプリケーション\コントローラ\ crud.php ライン: 31 機能:_error_handler

ファイル:C:¥xampp¥htdocs¥genstore¥admin¥indexPHP ライン:315 機能:require_onceを


Databaseエラー発生しました

エラー番号:1048

列 'gambar_produkは' produknama_produkinfo_produkにNULL

INSERTすることはできません、harga_produk,stock,penulis_produk,gambar_produk,kategorikode_kategori)VALUES( 'さだ'、 'asdas'、 'asdasd'、 'sdasd'、 'sdasd'、NULL、 'sadasd'、 '14')

ファイル名:C:/ XAMPP/htdocsに/ genstore /admin/system/database/DB_driver.php

行番号:691

ので、誰もが私のミスだものを私に伝えることができますか?ありがとう

+1

**「関連」の下に右にオーバールック** >>> [CodeIgniterのを使用して画像をアップロードすることができない]の –

+0

可能な複製(HTTP ://stackoverflow.com/questions/14365639/unable-to-upload-image-using-codeigniter) – AmericanUmlaut

+0

また、私はcodeigniterフォームヘルパーhttps://www.codeigniter.com/user_guide/helpers/form_helper.html#loadingを使用することをお勧めしますこのヘルパーとform_open_multipart()https://www.codeigniter.com/user_guide/helpers/form_helper.html#form_open_multipart – user4419336

答えて

0

フォームでマルチパートを使用していますか?

<?php echo form_open_multipart('upload/do_upload');?> 

https://www.codeigniter.com/userguide3/libraries/file_uploading.html

編集:私はあなたが見る、あなたのコードでは、フォーム内のフォームがあります!

+0

次にマルチパートを置くべきですか? –

+0

https://www.codeigniter.com/userguide3/libraries/file_uploading.htmlドキュメントメイト – qwertzman

0

試してみてください! 「マルチパート/フォームのデータ」としてエンコードフォームデータを送信する:

<form method="POST" action="<?php echo base_url()."index.php/crud/insert"; ?>" enctype="multipart/form-data"> 
    <table style="width:110%" class="table table-striped table table-bordered table table-hover"> 
+0

を読むenctypeはFORM属性です – qwertzman

関連する問題