Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Function PHP
Dear Admin dan master-master PHP,
Mau bertanya. Saya menggunakan Js pada php saya untuk upload file. Untuk textbox dan Select dapat masuk ke database. Tetapi untuk File tidak bisa. Mungkin ada yang salah. Mohon masukkan nya. Apakah Code saya di bawah sudah benar?
INDEX
<div id="dialog-admin" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel"></h3>
</div>
<!-- tempat untuk menampilkan form admin -->
<div class="modal-body"></div>
<div class="modal-footer">
<button class="btn btn-danger" data-dismiss="modal" aria-hidden="true">Batal</button>
<button id="simpan-admin" class="btn btn-success">Simpan</button>
</div>
form file :
<form class="form-horizontal" id="form-admin" enctype="multipart/form-data" >
<div> ... bla bla bla.. field.. </div>
<div class="control-group">
<label class="control-label" for="ava">Image</label>
<div class="controls">
<input type="file" id="ava" name="ava" value="<?php echo $ava ?>" required="required" />
</div>
</div>
code for javascript :
$("#simpan-admin").bind("click", function(event) {
var url = "admin-proses.php";
// mengambil nilai dari inputbox, textbox dan select
var v_username = $('input:text[name=username]').val();
var v_email = $('input:text[name=email]').val();
var v_pass = $('input:text[name=pass]').val();
var v_ava = $('input:file[name=ava]').val();
// mengirimkan data ke berkas transaksi admin-proses.php untuk di proses
$.post(url, {username: v_username, email: v_email, pass: v_pass, ava:v_ava, id: id} ,function() {
// tampilkan data admin yang sudah di perbaharui
// ke dalam <div id="data-admin"></div>
$("#data-admin").load(main);
// sembunyikan modal dialog
$('#dialog-admin').modal('hide');
// kembalikan judul modal dialog
$("#myModalLabel").html("Tambah Data Admin");
});
});
and this code for file process :
require 'dbase.php';
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$pass = $_POST['pass'];
$imageName = $_FILES['ava']['name'];
$imageSize = $_FILES['ava']['size'];
$imageError = $_FILES['ava']['error'];
if ($imageSize > 0 || $imageError == 0){
$move = move_uploaded_file($_FILES['ava']['tmp_name'], '../uploads/ava/'.$imageName);
if ($move){
echo 'success';
} else {
echo 'failed';
}
} else {
echo 'failed to save file to DB : '.$imageError;
}
mysql_query("INSERT INTO tb_admin VALUES('','$username','$email','$pass','$imageName')") or die (mysql_error());
Saya rasa kesalahan terjadi pada javascript. Mohon bantuan nya.
Terima kasih,
21 Jawaban:
coba ganti jadi gini
$('input:file[name=ava]').files
coba liat di consolenya gan, mungkin ada error
Maksud nya bagaimana gan @Jokskur ? Untuk text dan select berhasil masuk. Tetapi untuk file tidak berhasil. Mohon arahan nya Gan. ^_^
$('input:file[name=ava]').files
kode ini tuh jadinya array, kalo gak multiple upload, coba tambahin
$('input:file[name=ava]').files[0]
Sudah saya coba om @azam007..tetapi masih belum bisa..Saya hanya upload 1 file dan bukan multiple upload om..Ada cara lain om? Mohon pencerahan nya dan masukkan nya.. Terima kasih sebelumnya.. ^_^
ada error kah? coba dump, copy hasilny disini
oiya, coba tambahin lagi
var v_ava= new FormData($('input:file[name=ava]').files[0]))
Tidak ada error nya om @azam007. Tetapi tidak masuk ke database dan tidak berhasil move to folder. Apakah masih ada yang salah kah?
Terima kasih ya om dan mohon pencerahan nya.
total scriptnya mungkin jadi seperti ini
$("#simpan-admin").bind("click", function(event) {
var url = "admin-proses.php";
// mengambil nilai dari inputbox, textbox dan select
var inputData = {
username: $('input:text[name=username]').val(),
email: $('input:text[name=email]').val(),
password: $('input:text[name=pass]').val(),
ava: new FormData($('input:file[name=ava]').files[0])
}
// mengirimkan data ke berkas transaksi admin-proses.php untuk di proses
$.post(url, inputData ,function() {
// tampilkan data admin yang sudah di perbaharui
// ke dalam <div id="data-admin"></div>
$("#data-admin").load(main);
// sembunyikan modal dialog
$('#dialog-admin').modal('hide');
// kembalikan judul modal dialog
$("#myModalLabel").html("Tambah Data Admin");
});
});
Untuk insert nya masih belum dapat masuk om @azam007 sudah saya coba dan tidak dapat insert om. Apakah ada yang salah ya dari sisi saya ?
require 'dbase.php';
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$pass = $_POST['pass'];
$imageName = $_FILES['ava']['name'];
$imageSize = $_FILES['ava']['size'];
$imageError = $_FILES['ava']['error'];
if ($imageSize > 0 || $imageError == 0){
$move = move_uploaded_file($_FILES['ava']['tmp_name'], '../uploads/ava/'.$imageName);
if ($move){
echo 'success';
} else {
echo 'failed';
}
} else {
echo 'failed to save file to DB : '.$imageError;
}
mysql_query("INSERT INTO tb_admin VALUES('','$username','$email','$pass','$imageName')") or die (mysql_error());
insertnya belum masuk, berarti pindah file nya udah bisa?
Masih belum bisa juga om @azam007. Apakah masih ada yang salah kah?
Bingung gan om @azam007. Maaf masih newbie. :(
("#simpan-admin").bind("click", function(event) {
var url = "admin-proses.php";
//Mengambil value dari form
var data = new FormData($('form')[0]);
//Mengirim kan ke server
$.ajax({
type: 'POST',
url: url,
data: data,
processData: false,
contentType: false,
success: function() {
// handle response here...
// tampilkan data admin yang sudah di perbaharui
// ke dalam <div id="data-admin"></div>
//main itu darimana ya ?
$("#data-admin").load(main);
// sembunyikan modal dialog
$('#dialog-admin').modal('hide');
// kembalikan judul modal dialog
$("#myModalLabel").html("Tambah Data Admin");
}
});
});
Ini dengan syarat browser sudah support HTML5 API ya :D Kalau belum ya tinggal di ganti pake serialize() daripada nulis satu2 value dari form nya. Kalau cuma 5 sih gpp kalau 1000 ? atau 10000 ? :v
@markeronly untuk main itu untuk menampilkan data saja.. Lalu cara move to folder nya bagaimana ya om? Misalkan nama folder yang sudah saya buat adalah image. Bagaimana cara move to folder ke sana ya?
Terima kasih dan mohon arahan nya. ^_^
Maksudnya move to folder ? Mau uploadnya ke folder image yang mas pengen ya ?
Itu di koding (backend) mas soal yg berhubungan sama gituan
masih belum solved? move file dan insertnya?