Upload foto kedalam database

Saya ingin mengupload file dengan ekstensi 'jpg','png','jpeg','gif','pdf' kedalam database. Saya sudah mencari source code di internet dan saat saya merunning kodingan saya yang sudah saya modifikasi mengikuti source code dari internet, tidak ada data yang terecord didalam database dan halaman yang diumpan balik adalah blank setelah saya menekan tombol submit.

berikut codingan hmtl saya,

<!----- ------------------------- Tambah Data SPT ------------------------- ----->
<?php
break;
case "tambah_spt" :
?>

<h3 class="box-title margin text-center">Tambah Data SPT </h3>
<br/>
<!--<form class="form-horizontal" action="<?php echo $aksi?>?module=bukti&aksi=edit" role="form" method="post">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>-->
<script src="../aset/plugins/jQuery/jquery.min.js"></script>
<div class="form-group">
  <form method="POST" action="<?php echo $aksi?>?module=bukti&aksi=tambah_spt" name="add_name" id="add_name" role="form" enctype="multipart/form-data">
    <div class="table-responsive">
      <table class="table" id="dynamic_field">
        <tr>
          <td width="500px">
            <label class="control-label">Tanggal Mulai</label>
            <input type="text"  name="tanggalawal_spt"  class="form-control datepicker">
          </td>

          <td width="500px">
            <label>Tanggal Akhir</label>
            <input type="text"  name="tanggalakhir_spt"  class="form-control datepicker">
          </td>
        </tr>
        <tr>
          <td width="500px">

            <label class="control-label">Nama</label>
            <select type="text" name="userid" placeholder="Pilih Nama" class="form-control name_list">
              <option disabled selected> Pilih </option>
               <?php
                $sql=mysql_query("SELECT * FROM pegawai");
                while ($data=mysql_fetch_array($sql)) {
               ?>
               <option value="<?=$data['nik']?>"><?=$data['nm_pegawai']?></option>
               <?php
                }
              ?>
            </select>
          </td>

          <td width="500px">
            <label>Dokumen SPT</label>
            <span style="display:block; height:6px;"></span>
            <input type="file" name="nama_spt" >
          </td>

          <td width="500px">
            <span style="display:block; height:25px;"></span>
            <button type="button" name="add" id="add" class=" btn btn-success"><i class="glyphicon glyphicon-plus"></i></button>
          </td>
        </tr>
      </table>
      <div class="form-group">
        <label class="col-sm-4"></label>
        <div class="col-sm-5">
            <button type="submit" name="submit" class="btn btn-primary" value="Upload"><i class="glyphicon glyphicon-floppy-disk"></i> Simpan</button>
            <button type="reset" class="btn btn-danger"><i class="glyphicon glyphicon-floppy-disk"></i><i> Reset</i></button>
        </div>
    </div>
  </form>
</div>
<!----- ------------------------- END Tambah Data SPT ------------------------- ----->

dan berikut adalah codingan php nya,

<?php
include "../../koneksi.php";

$module=$_GET['module'];
$aksi=$_GET['aksi'];

$id_spt 			= $_POST['id_spt'];
$npsn 				= $_POST['npsn'];
$userid				= $_POST['userid'];
$tanggalawal_spt	= $_POST['tanggalawal_spt'];
$tanggalakhir_spt	= $_POST['tanggalakhir_spt'];
//$nama_spt			= $_POST['nama_spt'];
$dok_spt			= $_POST['dok_spt'];
$ukuran_spt			= $_POST['ukuran_spt'];
$number 			= count($_POST["name"]);

// HAPUS_spt
if($module=='bukti' AND $aksi=='hapus_spt' ){
$mySql = "DELETE FROM spt_tb WHERE id_spt='".$_GET['id_spt']."'";
$myQry = mysql_query($mySql);
header('location:../../index.php?module='.$module);
}

//Tambah_spt
else if($module=='bukti' AND $aksi=='tambah_spt'){

// File upload path
$targetDir = "uploads/";
$nama_spt = basename($_FILES["file"]["name"]);
$targetFilePath = $targetDir . $nama_spt;
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);

	if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){
    	// Allow certain file formats
    	$allowTypes = array('jpg','png','jpeg','gif','pdf');
   		if(in_array($fileType, $allowTypes)){
        	// Upload file to server
        	if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){
            	// Insert image file name into database
				$sql = "INSERT INTO spt_tb (id_spt, userid, tanggalawal_spt, tanggalakhir_spt, nama_spt, uploaded_on VALUES ('$id_spt', '$userid', '$tanggalawal_spt', '$tanggalakhir_spt', '".$nama_spt."', NOW())";
				$simpan = mysql_query($sql);
				header('location:../../index.php?module='.$module);
			}
		}
	}
}

//Edit_spt
else if($module=='bukti' AND $aksi=='edit_spt' ){
mysql_query("UPDATE spt_tb SET nm_lokasi='$lokasi' WHERE id_lokasi = '$id'");
header('location:../../index.php?module='.$module);
}
?>

jika saya tidak menambah source code dari internet yang saya dapat, saya berhasil meng insert data kedalam database (tidak melakukan fungsi upload file) itu artinya untuk koneksi ke database sudah berhasil. Dan untuk fungsi upload file tersebut saya sudah membuat folder untuk menampung foto yang di upload dengan nama "uploads" sesuai dengan codingan diatas.

mohon bantuan nya para master

avatar barkah03
@barkah03

33 Kontribusi 9 Poin

Diperbarui 3 tahun yang lalu

1 Jawaban:

<div><br>Coba codingan php nya diganti menjadi seperti ini :</div><pre>&lt;?php include "../../koneksi.php";

$module=$_GET['module']; $aksi=$_GET['aksi'];

$id_spt = $_POST['id_spt']; $npsn = $_POST['npsn']; $userid = $_POST['userid']; $tanggalawal_spt = $_POST['tanggalawal_spt']; $tanggalakhir_spt = $_POST['tanggalakhir_spt']; //$nama_spt = $_POST['nama_spt']; $dok_spt = $_POST['dok_spt']; $ukuran_spt = $_POST['ukuran_spt']; $number = count($_POST["name"]);

//Tambah_spt elseif($module=='bukti' AND $aksi=='tambah_spt'){

// File upload path $targetDir = "uploads/"; $nama_spt = basename($_FILES["nama_spt"]["name"]); $targetFilePath = $targetDir . $nama_spt; $fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);

if(isset($_POST[&quot;submit&quot;]) &amp;amp;&amp;amp; !empty($_FILES[&quot;nama_spt&quot;][&quot;name&quot;])){
	// Allow certain file formats
	$allowTypes = array(&#039;jpg&#039;,&#039;png&#039;,&#039;jpeg&#039;,&#039;gif&#039;,&#039;pdf&#039;);
	if(in_array($fileType, $allowTypes)){
    	// Upload file to server
    	if(move_uploaded_file($_FILES[&quot;nama_spt&quot;][&quot;tmp_name&quot;], $targetFilePath)){
        	// Insert image file name into database
			$sql = &quot;INSERT INTO spt_tb (id_spt, userid, tanggalawal_spt, tanggalakhir_spt, nama_spt, uploaded_on VALUES (&#039;$id_spt&#039;, &#039;$userid&#039;, &#039;$tanggalawal_spt&#039;, &#039;$tanggalakhir_spt&#039;, &#039;&quot;.$nama_spt.&quot;&#039;, NOW())&quot;;
			$simpan = mysql_query($sql);
			header(&#039;location:../../index.php?module=&#039;.$module);
		}
	}
}

}

?&gt;</pre><div><br>Semoga membantu</div>

avatar syahid246
@syahid246

70 Kontribusi 160 Poin

Dipost 3 tahun yang lalu

Tanggapan

yang mas maksud pada jawaban mas itu mengubah "else if" menjadi "if" saja bukan? maaf sebelumnya mas, sebenarnya ada kondisi pertama pada codingan saya tersebut tetapi saya hapus untuk memperingkas codingan yang saya kirim diforum ini

oh... maaf mas

tapi yang diubah bukan hanya "elseif" menjadi "if". sudah saya ganti menjadi elseif, coba lagi mas...

karena $_FILES - nya harus-nya bukan $_FILES["file"]... tapi $_FILES["nama_spt"] , karena disesuaikan dengan attribute name di input type file

Login untuk ikut Jawaban