Postingan lainnya
Cara upload dua gambar di model codeigniter
Mohon bantuannya, saya sudah mencari dan bongkar2 google tapi gak nemu codingan yg pas/sesuai dengan source code yg saya miliki.. kalau harus mengikuti codingan yg ada di google berarti harus rombak semua codingan dari nol :((.
Yang saya mau disini adalah modifikasi sedikit dari codingan yg ada agar dapat insert file name dua gambar ke database mysql, dan menyimpannya ke dalam folder.
Codingan di bawah banyak yg saya hapus yg tidak perlu agar bisa fokus ke insert gambar saja (upload foto barang & upload foto bukti transfer).
Terimakasih banyak bagi master2 sekalian yg berkenan membantu :)
berikut ini codingannya: (CONTROLLER)
public function create(){
if(!isset($_POST)) {
show_404();
}
if($this->pinjaman_m->create()){
echo json_encode(array('ok' => true, 'msg' => '<div class="text-green"><i class="fa fa-check"></i> Data berhasil disimpan </div>'));
} else {
echo json_encode(array('ok' => false, 'msg' => '<div class="text-red"><i class="fa fa-ban"></i> Gagal menyimpan data, pastikan nilai lebih dari <strong>0 (NOL)</strong>. </div>'));
}
}
(MODEL)
public function create() {
$data = array(
'tgl_pinjam' => $this->input->post('tgl_pinjam'),
'anggota_id' => $this->input->post('anggota_id'),
//'upload_foto_barang' => $this->upload->do_upload(['file']['file_name'])
//'upload_bukti_transfer' => $this->upload->do_upload(['file']['file_name'])
);
$this->db->insert('tbl_pinjaman_h', $data);
}
(VIEW)
<div id="dialog-form" class="easyui-dialog" show= "blind" hide= "blind" modal="true" resizable="false" closed="true" buttons="#dialog-buttons" style="display: none;">
<form id="form" method="post" enctype="multipart/form-data" novalidate>
<table>
<tr >
<td>Tanggal Pinjam</td>
<td>:</td>
<td>
<input type="text" name="tgl_pinjam_txt" id="tgl_pinjam_txt" />
</td>
</tr>
<tr style="height:35px">
<td>Nama Anggota</td>
<td>:</td>
<td>
<input id="anggota_id" name="anggota_id" style="width:195px; height:25px" class="easyui-validatebox" required="true" >
</td>
</tr>
<tr style="height:35px">
<td>Upload Foto Barang</td>
<td>:</td>
<td>
<input type="file" id="upload_foto_barang" name="upload_foto_barang" style="width:195px; height:25px; margin-bottom: 5px; margin-top:5px;" >
</td>
</tr>
<tr style="height:35px">
<td>Upload Bukti Transfer</td>
<td>:</td>
<td>
<input type="file" id="upload_bukti_transfer" name="upload_bukti_transfer" style="width:195px; height:25px; margin-bottom: 5px; margin-top:5px;" >
</td>
</tr>
</table>
</form>
</div>
<script type="text/javascript">
var url;
function save() {
var string = $("#form").serialize();
//validasi teks kosong
var anggota_id = $("input[name=anggota_id]").val();
if(anggota_id == '') {
$.messager.show({
title:'<div><i class="fa fa-warning"></i> Peringatan ! </div>',
msg: '<div class="text-red"><i class="fa fa-ban"></i> Maaf, Anggota belum dipilih. </div>',
timeout:2000,
showType:'slide'
});
$("#anggota_id").focus();
return false;
}
var barang_id = $("#barang_id option:selected").val();
if(barang_id == "0" || barang_id == "") {
$.messager.show({
title:'<div><i class="fa fa-warning"></i> Peringatan ! </div>',
msg: '<div class="text-red"><i class="fa fa-ban"></i> Maaf, Barang belum dipilih. </div>',
timeout:2000,
showType:'slide'
});
$("#barang_id").focus();
return false;
}
.
.
.
.
$.ajax({
type : "POST",
url: url,
data : string,
success : function(result) {
var result = eval('('+result+')');
$.messager.show({
title:'<div><i class="fa fa-info"></i> Informasi</div>',
msg: result.msg,
timeout:2000,
showType:'slide'
});
if(result.ok) {
jQuery('#dialog-form').dialog('close');
$('#dg').datagrid('reload');
}
}
});
}
</script>
3 Jawaban:
Jawaban Terpilih
coba pake formdata <pre> var string = $("#form").serialize(); //ganti dengan ini var string = new FormData($("#form")[0]); </pre>
masih blm bisa kak, susah krn gada pesan error:((
coba pada model/controller create, var_dump file upload <pre> var_dump($_FILES['upload_foto_barang']); var_dump($_FILES['upload_bukti_transfer']); // atau var_dump($this->upload->do_upload('upload_foto_barang')); var_dump($this->upload->do_upload('upload_bukti_transfer')); </pre>