Я хочу загрузить файл с помощью оповещения о загрузке, после того, как я выберу файл и нажму Загрузить, он показывает «Неопределенный индекс»
Если я просто использую (form method = "post" action = "action.php"), он запускается без проблем, я также пытался использовать jquery ajax, это также успешно. Но так как я выбираю использование Bootbox и вызываю URL из ajax, он будет показывать эту ошибку (как это исправить?)
Ниже мой код main.js
$('.import_guru').click(function(e){
e.preventDefault();
// var uploadHtml = "<form method='post' enctype='multipart/form-data' action='upload_aksi'>" +
var uploadHtml = "<form method='post' enctype='multipart/form-data'>" +
"Pilih File: " +
"<input name='import_guru' type='file' required='required'>" +
// "<input name='upload' type='submit' value='Import'>" +
"</form>";
bootbox.dialog({
message: uploadHtml,
title: "File Upload",
buttons: {
success: {
label: "Upload",
className: "btn-primary",
callback: function () {
$.ajax({
type: 'POST',
url: 'upload_aksi',
data: $("form").serialize()
})
.done(function(response){
bootbox.alert(response);
})
.fail(function(){
bootbox.alert('Error....');
})
}
}
}
});
});
lihat.php
<section class="content-header">
<h1>
<span class="pull-left">
Data Guru
</span>
<span class="pull-right">
<a href="tambah" class="btn btn-primary"><i class="icon-plus"></i> Tambah</a>
<a href="ImportGuruTemplate.xls" class="btn btn-primary" data-toggle="popover" data-trigger="hover" data-placement="bottom" data-content="Import Data Guru Template" download><i class="fa fa-info"></i></a>
<a class="btn btn-primary import_guru" name="import_guru" id="import_guru" href="javascript:void(0)"><i class="fa fa-upload"></i> Import</a> <!-- this one -->
<a href="tambah" class="btn btn-primary"><i class="fa fa-download"></i> Export</a>
</span><br>
</h1>
</section>
upload_aksi.php
<?php
include '../connect/connection.php';
include "../plugins/excel_reader2.php";
?>
<?php
// upload file xls
$target = basename($_FILES['import_guru']['name']) ;
move_uploaded_file($_FILES['import_guru']['tmp_name'], $target);
// beri permisi agar file xls dapat di baca
chmod($_FILES['import_guru']['name'],0777);
// mengambil isi file xls
$data = new Spreadsheet_Excel_Reader($_FILES['import_guru']['name'],false);
// menghitung jumlah baris data yang ada
$jumlah_baris = $data->rowcount($sheet_index=0);
// jumlah default data yang berhasil di import
// $berhasil = 0;
for ($i=2; $i<=$jumlah_baris; $i++)
{
// menangkap data dan memasukkan ke variabel sesuai dengan kolumnya masing-masing
$nik = $data->val($i, 1);
$nama = $data->val($i, 2);
$jenis_kelamin = $data->val($i, 3);
$tempat_lahir = $data->val($i, 4);
$tanggal_lahir = $data->val($i, 5);
$alamat = $data->val($i, 6);
$query = "SELECT * FROM user WHERE nik='$nik'";
$result = mysqli_query($con,$query);
if (mysqli_num_rows($result) > 0 )
{
if ($row = mysqli_fetch_array($result))
{
$update_query = "UPDATE user SET nama='$nama' WHERE nik='$nik'";
$update_run = mysqli_query($con, $update_query);
if ($update_run){
echo "berhasil update";
}
// echo "data already exist";
// break;
}
}
else
{
if($nik != "" && $nama != "" && $jenis_kelamin != "" && $tempat_lahir != "")
{
$query= "INSERT INTO user (id, nik, nama, jenis_kelamin, tempat_lahir, tanggal_lahir, alamat) VALUES (null, '$nik', '$nama', '$jenis_kelamin', '$tempat_lahir', '$tanggal_lahir', '$alamat')";
mysqli_query($con, $query);
// $berhasil++;
echo "data berhasil diimport";
header("location:lihat");
}
}
}
// hapus kembali file .xls yang di upload tadi
// unlink($_FILES['import_guru']['name']);
?>
Прикрепляю скриншот ниже