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,.,.

avatar achsya
@achsya

10 Kontribusi 4 Poin

Diperbarui 6 tahun yang lalu

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.

avatar onirusama
@onirusama

265 Kontribusi 184 Poin

Dipost 8 tahun yang lalu

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,.

avatar achsya
@achsya

10 Kontribusi 4 Poin

Dipost 8 tahun yang lalu

data = new FormData($('#form'));
avatar hamdanidev
@hamdanidev

47 Kontribusi 12 Poin

Dipost 8 tahun yang lalu

sory agak bingung dengan filenya, antara aksi.php n message_ajax.php

avatar onirusama
@onirusama

265 Kontribusi 184 Poin

Dipost 8 tahun yang lalu

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

avatar achsya
@achsya

10 Kontribusi 4 Poin

Dipost 8 tahun yang lalu

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 ?

avatar achsya
@achsya

10 Kontribusi 4 Poin

Dipost 8 tahun yang lalu

dari javascript/jquery. data: datastring... coba ganti sama itu

avatar hamdanidev
@hamdanidev

47 Kontribusi 12 Poin

Dipost 8 tahun yang lalu

masih belum bisa kang,.

avatar achsya
@achsya

10 Kontribusi 4 Poin

Dipost 8 tahun yang lalu

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..... } });

avatar Fadli1997
@Fadli1997

2 Kontribusi 1 Poin

Dipost 7 tahun yang lalu

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..

avatar BadRabbit
@BadRabbit

149 Kontribusi 56 Poin

Dipost 7 tahun yang lalu

@BadRabbit : ? caranya gmn ya ?

avatar cloudsnight
@cloudsnight

12 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban