Postingan lainnya
Tidak bisa update upload file codeigniter 3
Permisi teman-teman, ingin bertanya koq saya tidak bisa update file dari file yang sudah diupload ya??
Controller :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Editdata extends CI_Controller{
function __construct()
{
parent::__construct();
$this->load->model('M_data','model');
$this->load->helper('url','download');
$this->table = 'tb_data';
}
function index()
{
$this->load->view('pegawai/editdata');
}
function update()
{
if(isset($_POST['edit']))
{
if($_FILES['datapendukung']['name'])
{
//Configurasi fungsi upload
$config['max_size']=0;
$config['allowed_types']="png|jpg|jpeg|gif|doc|docx|xlsx|xls|pdf";
$config['remove_spaces']=FALSE;
$config['overwrite']=TRUE;
$config['upload_path']=FCPATH.'upload/files';
$this->load->library('upload', $config);
if (!$this->upload->do_upload('datapendukung')) //Jika uploadnya gagal
{
$error = array('error' => $this->upload->display_errors());
}
else
//jika berhasil upload
{
$id = $this->input->post('id');
$tahunpkpt = $this->input->post('tahunpkpt');
$tanggal = $this->input->post('tanggal');
$tanggal = date('Y-m-d', strtotime($tanggal));
$lhp = $this->input->post('lhp');
$temuan = $this->input->post('temuan');
$rekomendasi = $this->input->post('rekomendasi');
$tindaklanjut = $this->input->post('tindaklanjut');
$entrydokumen = $this->input->post('entrydokumen');
$feedback = $this->input->post('feedback');
$datapendukung = $this->upload->data('file_name');
$data = array(
'tahunpkpt'=>$tahunpkpt,
'tanggal'=>$tanggal,
'lhp'=>$lhp,
'temuan'=>$temuan,
'rekomendasi'=>$rekomendasi,
'tindaklanjut'=>$tindaklanjut,
'entrydokumen'=>$entrydokumen,
'feedback'=>$feedback,
'datapendukung'=>$datapendukung,
);
$this->model->update_data($this->table, $data, ['id' => $id]);
redirect('pegawai/daftardata');
}
}
}
function delete()
{
//meminta model untuk menghapus data dengan id = $id
$delete = $this->model->delete_data($this->table, ['id'=>$id]);
//jika data berhasil dihapus, maka pengunjung diarahkan ke halaman show
if($delete)
redirect('pegawai/daftardata');
}
}
}
Model :
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class M_data extends CI_Model
{
function input_data($data,$table)
{
$this->db->insert($table,$data);
}
function update_data($table, $set, $where)
{
//melakukan perintah mengubah data tabel
return $this->db->where($where)
->update($table, $set);
}
function tampil_data(){
return $this->db->get('tb_data');
}
public function delete_data($table, $where)
{
//menghapus data pada tabel $table dengan nilai kolom sama dengan $where
return $this->db->delete($table, $where);
}
}
View :
<?php $this->load->view('pegawai/header');?>
<?php $this->load->view('pegawai/sidebar');?>
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark">Edit Data</h1>
</div><!-- /.col -->
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="<?php echo base_url('pegawai')?>">Home</a></li>
<li class="breadcrumb-item active">Edit Data</li>
</ol>
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->
<!-- Main content -->
<?php
include 'koneksi.php';
$id = $_GET['id'];
$data = mysqli_query($koneksi,"select * from tb_data where id='$id'");
while($d = mysqli_fetch_array($data)){
?>
<section class="content">
<div class="container-fluid">
<form action="updatedata" method="post" enctype="multipart/form-data">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="card card-primary">
<div class="card-header">
</div>
<!-- /.card-header -->
<!-- form start -->
<form role="form" id="quickForm">
<div class="card-body">
<div class="form-group">
<label for="exampleInputEmail1">Tahun PKPT</label>
<input type="hidden" name="id" value="<?php echo $d['id']; ?>">
<input type="number" class="form-control" id="exampleInputEmail1" name="tahunpkpt" value="<?php echo $d['tahunpkpt'];?>">
</div>
<div class="form-group">
<!-- date -->
<div class="form-group">
<div class="row">
<div class="col-md-4">
<!-- Date -->
<div class="form-group">
<label>Tanggal</label>
<div class="input-group date" id="tanggal" data-target-input="nearest">
<input type="text" name="tanggal" class="form-control datetimepicker-input" data-target="#tanggal" value="<?php echo shortdate_indo($d['tanggal'])?>">
<div class="input-group-append" data-target="#tanggal" data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!-- textarea -->
<div class="form-group">
<label>LHP</label>
<textarea id="summernote1" name="lhp" class="form-control" rows="10"><?php echo $d['lhp'];?></textarea>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-12">
<!-- textarea -->
<div class="form-group">
<label>Temuan</label>
<textarea id="summernote2" name="temuan" class="form-control" rows="10"><?php echo $d['temuan'];?></textarea>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-12">
<!-- textarea -->
<div class="form-group">
<label>Rekomendasi</label>
<textarea id="summernote3" name="rekomendasi" class="form-control" rows="10"><?php echo $d['rekomendasi'];?></textarea>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-12">
<!-- textarea -->
<div class="form-group">
<label>Tindak Lanjut Entitas Yang Diperiksa</label>
<textarea id="summernote4" name="tindaklanjut" class="form-control" rows="10"> <?php echo $d['tindaklanjut'];?></textarea>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-12">
<!-- textarea -->
<div class="form-group">
<label>Entry Dokumen Yang Diterima ITJEN</label>
<textarea id="summernote5" name="entrydokumen" class="form-control" rows="10"> <?php echo $d['entrydokumen'];?></textarea>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-12">
<!-- textarea -->
<div class="form-group">
<label>Feedback Satker</label>
<textarea id="summernote6" name="feedback" class="form-control" rows="10"> <?php echo $d['feedback']; ?></textarea>
</div>
</div>
</div>
</div>
<div class="form-group">
<label for="exampleInputFile">Data Pendukung</label>
<div class="input-group">
<div class="custom-file">
<div class="col-md-4">
<input type="file" name="datapendukung" class="custom-file-input" id="exampleInputFile" value="">
<label class="custom-file-label" for="exampleInputFile"><?php echo $d['datapendukung']; ?></label>
</div>
</div>
</div>
</div>
<!-- /.card-body -->
<br>
<button type="submit" class="btn btn-primary float-left">Simpan</button>
<input type='button' value='Batal' onClick='top.location="daftardata"' class="btn btn-primary float-right">
</div>
</form>
</div>
<!-- /.card -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php
}
?>
<!-- /.content -->
</div>
<?php $this->load->view('pegawai/footer');?>
File koneksi,php :
<?php
//memanggil Koneksi
include 'koneksi.php';
//membuat variabel
$id = $_POST['id'];
$tahunpkpt = $_POST ['tahunpkpt'];
$tanggal = $_POST ['tanggal'];
$tanggal = date('Y-m-d', strtotime($tanggal));
$lhp = $_POST ['lhp'];
$temuan = $_POST ['temuan'];
$rekomendasi = $_POST ['rekomendasi'];
$tindaklanjut = $_POST ['tindaklanjut'];
$entrydokumen = $_POST ['entrydokumen'];
$feedback = $_POST ['feedback'];
$datapendukung = $_POST ['datapendukung'];
$datapendukung = $_FILES ['datapendukung']['name'];
$sql = mysqli_query ($koneksi, "update tb_data set tahunpkpt='$tahunpkpt', tanggal='$tanggal', lhp='$lhp', temuan='$temuan', rekomendasi='$rekomendasi', tindaklanjut='$tindaklanjut', entrydokumen= '$entrydokumen', feedback= '$feedback', datapendukung= '$datapendukung' where id='$id' ");
?>
Mohon bantuannya teman-teman...
Tanggapan
Error nya seperti apa? Coba cek lagi di form action nya apa sudah sama dengan method di controller nya
Errornya itu pada saat mau update file yang lama dengan yang baru, jadi ketika sudah klik simpan untuk proses update, di database sudah terisi dengan file_name dari file yang sudah diupdate tetapi di folder tempat untuk file yang baru tidak ter upload
Udah diganti form actionnya dengan method updatenya , tapi hasilnya jadi white screen..
1 Jawaban:
Jawaban Terpilih
<div>Agan pakai PHP Native atau pake framework Codeigniter? Dari kode yang dilampirkan, sepertinya agan mencampurkan keduanya... Harus ditentukan dulu, apakai pakai native atau framework, karena cara-nya bisa jadi berbeda.</div>