У меня проблемы с загрузкой изображения с помощью codeigniter. Я новичок в этом и не знал, как загрузить изображение с помощью codeigniter. поэтому я надеюсь, что кто-нибудь из вас, ребята, сможет мне помочь
это моя форма с именем form_add.php
<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>
и это мой контроллер с именем 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; } }
также это то, что он показывает после того, как я запустил его
Возникла ошибка PHP
Уровень важности: уведомление
Сообщение: Неопределенный индекс: gambar_produk
Имя файла: controllers / crud.php
Номер строки: 30
Backtrace:
Файл: C: \ xampp \ htdocs \ genstore \ admin \ application \ controllers \ crud.php Линия: 30 Функция: _error_handler
Файл: C: \ xampp \ htdocs \ genstore \ admin \ index.php Линия: 315 Функция: require_once
Возникла ошибка PHP
Уровень важности: уведомление
Сообщение: Неопределенный индекс: gambar_produk
Имя файла: controllers / crud.php
Номер строки: 31
Backtrace:
Файл: C: \ xampp \ htdocs \ genstore \ admin \ application \ controllers \ crud.php Строка: 31 Функция: _error_handler
Файл: C: \ xampp \ htdocs \ genstore \ admin \ index.php Линия: 315 Функция: require_once
Ошибка базы данных Произошла
Номер ошибки: 1048
Столбец «gambar_produk» не может быть нулевым
INSERT INTO nama_produk
( nama_produk
, info_produk
, harga_produk
, stock
, penulis_produk
, penulis_produk
, gambar_produk
, kode_kategori
) VALUES ('sada', 'asdas', 'asdasd', 'sdasd', 'sdasd', NULL, 'sadasd', '14 «)
Имя файла: C: /xampp/htdocs/genstore/admin/system/database/DB_driver.php
Номер строки: 691
так может кто-нибудь сказать мне, в чем моя ошибка? благодаря
Вы используете multipart в форме?
<?php echo form_open_multipart('upload/do_upload');?>
https://www.codeigniter.com/userguide3/libraries/file_uploading.html
Редактирование: я вижу, что есть, в вашем коде есть форма!
попробуй это ! Отправить данные формы, закодированные как «multipart / form-data»:
<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">