Я попытался сделать форму с двумя формами загрузки и разными конфигами (разные расширения).проблема в том, что я не могу ввести изображения и .pdf одновременно.ошибок нет.
здесь мой контроллер
class Admin extends CI_Controller
{
public function buku()
{
$data['title'] = 'Buku Management';
//mengambil data dari session controller auth
$data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();
$this->load->model('Admin_model', 'admin');
$data['buku'] = $this->admin->getAllBuku();
$data['kategori'] = $this->db->get('kategori')->result_array();
$this->form_validation->set_rules('judul', 'Judul', 'required');
$this->form_validation->set_rules('kategori_id', 'Kategori', 'required');
$this->form_validation->set_rules('pengarang', 'Pengarang', 'required');
$this->form_validation->set_rules('penerbit', 'Penerbit', 'required');
$this->form_validation->set_rules('tahun', 'Tahun', 'required');
$this->form_validation->set_rules('mata_pelajaran', 'Mata Pelajaran', 'required');
$this->form_validation->set_rules('jml_hlm', 'jml_hlm', 'required');
$this->form_validation->set_rules('deskripsi', 'Deskripsi', 'required');
if ($this->form_validation->run() == false) {
$this->load->view('templates/header', $data);
$this->load->view('templates/sidebar', $data);
$this->load->view('templates/topbar', $data);
$this->load->view('admin/buku', $data);
$this->load->view('templates/footer');
} else {
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '10000';
$config['upload_path'] = './assets/img/bse/';
//load library upload
$this->load->library('upload', $config);
$this->upload->do_upload('cover');
$image_upload = $this->upload->data('file_name');
$config2['allowed_types'] = 'pdf';
$config2['upload_path'] = './assets/pdf/';
//load library upload
$this->upload->initialize($config2);
$this->upload->do_upload('file_buku');
$file_buku = $this->upload->data('file_name');
$data = [
'judul' => $this->input->post('judul'),
'kategori_id' => $this->input->post('kategori_id'),
'pengarang' => $this->input->post('pengarang'),
'penerbit' => $this->input->post('penerbit'),
'mata_pelajaran' => $this->input->post('mata_pelajaran'),
'tahun' => $this->input->post('tahun'),
'jml_hlm' => $this->input->post('jml_hlm'),
'deskripsi' => $this->input->post('deskripsi'),
'cover' => $image_upload,
'tanggal_upload' => time(),
'file_buku' => $file_buku,
'pengupload' => 1
];
$this->db->insert('buku', $data);
$this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">Buku Sudah ditambahkan</div>');
redirect('admin/buku');
}
}
}
здесь мои модели
class Admin_model extends CI_Model
{
public function getAllUser()
{
$query = "SELECT `user`.*, `user_role`.`role`
FROM `user` JOIN `user_role`
ON `user`.`role_id` = `user_role`.`id`";
return $this->db->query($query)->result_array();
}
public function getAllBuku()
{
$query = "SELECT `buku`.*, `kategori`.`kategori_nama`
FROM `buku` JOIN `kategori`
ON `buku`.`kategori_id` = `kategori`.`kategori_id`";
return $this->db->query($query)->result_array();
}
public function getDetailBuku($id)
{
$query = "SELECT `buku`.*, `kategori`.`kategori_nama`
FROM `buku` JOIN `kategori`
ON `buku`.`kategori_id` = `kategori`.`kategori_id`
WHERE `buku`.`id` = $id";
return $this->db->query($query)->result_array();
}}
здесь мои взгляды
<div class="modal fade" id="newBukuModal" tabindex="-1" role="dialog" aria-labelledby="newBukuModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="newBukuModalLabel">Tambah Buku</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<?= form_open_multipart('admin/buku'); ?>
<div class="modal-body">
<div class="form-group">
<input type="text" class="form-control" id="judul" name="judul" placeholder="Judul Buku">
</div>
<div class="form-group">
<select name="kategori_id" id="kategori_id" class="form-control">
<option value="">Pilih Kategori</option>
<?php foreach ($kategori as $k) : ?>
<option value="<?= $k['kategori_id']; ?>"><?= $k['kategori_nama']; ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<input type="text" class="form-control" id="pengarang" name="pengarang" placeholder="Nama Pengarang">
</div>
<div class="form-group">
<input type="text" class="form-control" id="penerbit" name="penerbit" placeholder="Penerbit buku">
</div>
<div class="form-group">
<input type="text" class="form-control" id="mata_pelajaran" name="mata_pelajaran" placeholder="Mata Pelajaran">
</div>
<div class="form-group">
<input type="number" class="form-control" id="tahun" name="tahun" placeholder="Tahun Terbit">
</div>
<div class="form-group">
<input type="number" class="form-control" id="jml_hlm" name="jml_hlm" placeholder="Jumlah Halaman">
</div>
<div class="form-group">
<textarea class="form-control" name="deskripsi" id="deskripsi" placeholder="Tuliskan Deskripsi Buku"></textarea>
</div>
<div class="form-group">
<div class="custom-file">
<input type="file" class="custom-file-input" id="cover" name="cover">
<label class="custom-file-label" for="cover">Pilih Cover</label>
</div>
</div>
<div class="form-group">
<div class="custom-file">
<input type="file" class="custom-file-input" id="file_buku" name="file_buku">
<label class="custom-file-label" for="file_buku">Pilih File</label>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Add</button>
</div>
</form>
</div>
</div>
входной файл name = "cover" для изображения и name = "file_buku" для файлов .pdf.я думаю, алгоритм в функции buku () был неправильным.я понятия не имею об этом