Postingan lainnya
Re Post : Undifined Index Upload file/gambar menggunakan ajax ??
saya Re-Post lagi masalah sy ,. sy kasih keterangan code agar gg bingung,. maklum ane baru gabung jadi kurang ngerti,.
ane mau nanya maslah upload file lewat ajax nih selalu gagal mulu,. mohon bantuan dan bimbingan nya mastah,.,
form upload foto plus deskripsi
<form method="post" action=" " enctype='multipart/form-data'>
<textarea cols="30" rows="4" name="update" id="update" maxlength="200" style='min-height: 50px; border:1px solid #f5f5f5 ;resize: none ;' placeholder='Apa Yg anda Pikirkan ?'></textarea>
<input type='file' id='file' name='file'>
<br />
<input type="submit" value="Update" id="update_button" class="update_button"/>
</form>
ini ajax.js
$(document).ready(function()
{
// Update Status
$(".update_button").click(function()
{
var updateval = $("#update").val();
var file = $('#file').val();
var dataString = 'update='+ updateval;
var dataupd = 'file='+ file;
if(updateval=='')
{
alert("Silahkan Masukkan Upadate");
}
else
{
$("#flash").show();
$("#flash").fadeIn(400).html('Memuat Update...');
$.ajax({
type: "POST",
url: "message_ajax.php",
data: dataString+'&'+dataInt+'&'+dataupd,
cache: false,
success: function(html)
{
$("#flash").fadeOut('slow');
$("#content").prepend(html);
$("#update").val('');
$("#upload").val('');
$("#update").focus();
$("#stexpand").oembed(updateval);
}
});
}
return false;
});
});
ini aksi.php untuk ambil value dan move location gambar/file
$update = $_POST["update"];
$name = $_FILES["file"]["name"];
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
$acak = rand(000,999);
$nama_file_unik = $acak.$name;
if (isset ($name)) {
if (!empty($name)) {
$location = 'img/';
if (move_uploaded_file($tmp_name, $location.$name)){
echo "Uploaded $name $nama_file_unik";
}
} else {
echo 'please choose a file';
}
}
Pertanyaan saya kenapa masih undefined index saat upload foto?? dan gg move ke directory yang di tuju,. sedangkan klo saya buat tanpa ajax sukses,.
untuk POST data tanpa file sukses bisa simpen ke database,. tapi klo pake file malah error,.
mhon bantuan dan pencerahaan nya mastah/master,.,.
11 Jawaban:
kalau saran dari saya seperti ini dulu. 1. ujicoba coding agan dulu, fokus pada php saja dulu. karena untuk ajaxnya akan sangat mudah bila tidak ada masalah di php 2. masalah indefined index disebabkan karena data yang agan kirim itu tidak dihandle oleh suatu fungsi. misalnya code agan:
<form method="post" action=" " enctype='multipart/form-data'>
lihat pada action="". kosong artinya anda mengirim semua datanya ke file tersebut. apakah ada fungsi yang mengolahnya? bila tidak maka akan muncul peringatan demikian. sedangkan bila agan ingin mengirimnya ke file message_ajax.php maka harus isi action tersebut.
kembali lagi saya sarankan, uji coba terlebih dahulu fungsi PHP dan Mysql. bila masih ada error jangan lanjutkan dulu ke ajax. kumpulkan semua error yang terjadi pada PHP dan mysql. setelah dari situ akan sangat2 mudah untuk mengolahnya dengan ajax. ini sangat bermanfaat untuk belajar.
klo untuk proses lgsung mengunakan PHP bisa,. lagsung bisa masuk ke database juga,. bisa saya ambil POST nya,. cuma pas pake ajax ada tulisan undefined index gtu,.
padahal klo tanpa
<input type='file' id='file'>
itu kirim post message nya jadi,. jadi udah bisa masuk database,. karena saya pengen biar post message + image tanpa reload sy pake ajax,. tapii gg muncul .,. malah pas saya hapus error_reporting(0) ; agar saya tau masalahnya,. ada notif : Undefined index file in ..... nah yg masih sy awam sekali sama ajax nya,. itu kira" file nya itu ke post gg ya ? atau ada cara lain ? sy ingin bisa post message + gambar juga using ajax,. mohon bantuan nya mastah,.
sory agak bingung dengan filenya, antara aksi.php n message_ajax.php
aksi php itu , yang message_ajax.php yg saya masukin di aksi.js jadi alur pertama dari form --> ke aksi.js --> terus ke message_ajax.php tapi aksi.js sy includin di form.php sebenarnya masalah nya tinggal input file aja,. yang lain udah sukses kalau tanpa input file
itu yang
new FormData($('#form'));
itu Id dari form.php ya ?? klo sy sy kasih id nya 'myForm' berrti di panggilnya myForm ya ? terus untuk pemanggilan selanjut nya gimana kang ?
dari javascript/jquery. data: datastring... coba ganti sama itu
Sering sering tanya di http://stackoverflow.com coy, masalah nya sama nih kaya saya, dan saya udah nemuin solusinya :D sedot gan : 2 down vote
$.ajax({ type: "POST", url: "blablabla.php", data: new FormData($('#nama_form_ente_gan')[0]), processData: false, contentType: false, success: function (data) { isi code terserah kamu..... } });
masalah nya sama nih om kaya yang saya alami kemaren, untuk upload file dengan jquery ajax tidak bisa langsung dengan butuh batuan di html nya..