Error saat get data di array php aplikasi absensi

Halo selamat siang, saya sedang coba buat aplikasi untuk absensi karyawan, nah saat saya sedang coba input data dari array yang saya buat, hasilnya ada error seperti ini. Mohon bantuannya teman teman untuk mengatasi error tersebut.

<a href='https://prnt.sc/q3n62m'>Error</a>

CODING UNTUK FORM ---------------------------------------------------------

<form action="aksi_absensi.php?act=create" method="post" class="m-form m-form--fit m-form--label-align-right">
<table class="m-datatable" id="html_table" width="100%">
<thead>
<tr>
	<th>No</th>
	<th>NIK</th>
	<th>Nama karyawan</th>
	<th>Jabatan</th>
	<th>Masuk</th>
	<th>Sakit</th>
	<th>Ijin</th>
	<th>Absen</th>
	<th>Lembur</th>
	<th>Potongan</th>
</tr>
</thead>
<tbody>
	<?php
	$no=1;
	$sqlCreate = mysqli_query($conn, "SELECT * FROM tb_karyawan
	INNER JOIN tb_jabatan ON tb_karyawan.id_jabatan = tb_jabatan.id_jabatan
	WHERE NOT EXISTS (SELECT * FROM tb_absensi WHERE bulan = '$bulantahun' AND
        tb_karyawan.nik=tb_absensi.nik)");

	$jmlKaryawan = mysqli_num_rows($sqlCreate);
	while ($rowC = mysqli_fetch_array($sqlCreate)) { ?>
	<input type="hidden" name="bulan[]" value="<?php echo $bulantahun; ?>">
	<input type="hidden" name="nik[]" value="<?php echo $rowC['nik']; ?>">
	<tr>
	<td><?php echo $no;?></td>
	<td><?php echo $rowC['nik']; ?></td>
	<td><?php echo $rowC['nama_karyawan']; ?></td>
	<td><?php echo $rowC['nama_jabatan']; ?></td>
	<td><input type="text" name="masuk" class="form-control col-6" value="0" required></td>
	<td><input type="text" name="sakit" class="form-control col-6" value="0" required></td>
	<td><input type="text" name="ijin" class="form-control col-6" value="0" required></td>
	<td><input type="text" name="absen" class="form-control col-6" value="0" required></td>
	<td><input type="text" name="lembur" class="form-control col-6" value="0" required></td>
	<td><input type="text" name="potongan" class="form-control col-10" value="0" required></td>
	</tr>

	<?php  $no++;
	} if ($jmlKaryawan > 0) {  ?>
</tbody>
	<button type="submit" class="btn btn-primary btn-sm"><i class="la la-save"></i> Simpan</button> | <button type="reset" class="btn btn-danger btn-sm"><i class="la la-times-circle"></i> Batal</button>
	<br><br>
	<?php
	}else{ ?>
	<div class="alert alert-danger" role="alert">
	<strong>MAAF!</strong> Data bulan <strong style="color: yellow;"><?php echo $bulan; ?></strong> ini sudah di proses, silahkan pilih bulan lain.</div>
	<?php
	}
	?>
</table>
</form>

CODING UNTUK ACTION PHP ---------------------------------------------------------

<?php
session_start();
include 'conf/conn.php';
if (!isset($_SESSION['login'])) {
	header("location:index.php");
}
if (isset($_GET['act'])) {
	// Insert Data
	if ($_GET['act']=='create') {
	# Prorses simpan data
	$bulan 		= $_POST['bulan'];   //Line 11
	$nik 		= $_POST['nik'];     //Line 12
	$sakit 		= $_POST['sakit'];
	$ijin 		= $_POST['ijin'];
	$absen 		= $_POST['absen'];
	$lembur 	= $_POST['lembur'];
	$potongan 	= $_POST['potongan'];

	// Hitung data yang masuk
	$count 	= count($nik);   //Line 20

	$sql 	= "INSERT INTO tb_absensi(bulan,nik,sakit,ijin,absen,lembur,potongan) VALUES";
	for ($i=0; $i > $count ; $i++) {

// sambung SQL nya dibawah ini
                $sql .= "('{$bulan[$i]}','{$nik[$i]}','{$sakit[$i]}','{$ijin[$i]}','{$absen[$i]}',
                '{$lembur[$i]}','{$potongan[$i]}')";

		$sql .= " , ";
		}
		$sql .= rtrim($sql," , ");

		// Untuk Simpan
		$simpan = mysqli_query($conn, $sql);
		if ($simpan) {
			echo ("<script LANGUAGE='JavaScript'>
				window.alert('SUKSES! Data Berhasil Disimpan.');
				window.location.href='data_absensi.php';
				</script>");
		}else{
			("<script LANGUAGE='JavaScript'>
			window.alert('ERROR, GAGAL SIMPAN DATA');
			window.location.href='data_absensi.php?view=create';
			</script>");
		}
	}
?>

avatar bcritical
@bcritical

2 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

itu karena variabel nik sama bulannya dibuat dalam array; jadi ketiga mau ambil hasil inputannya harus disertai nomer index arraynya... misal :

<pre> $nik = $_POST['nik'][i] </pre>

avatar Adingnj
@Adingnj

41 Kontribusi 8 Poin

Dipost 4 tahun yang lalu

Maksudnya gimana ya om? fungsi [i] buat apa ya? kalau saya tambahin [i] seperti diatas maka error nya jadi sperti ini om

Notice: Undefined index: i

saya masih belum paham memakai array

avatar bcritical
@bcritical

2 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

jadi, array itu kan data yang dikelompokkan. makanya kita harus memasukkan list nomer berapa.. dimulai dari data yang nomer 0 ... seterusnya.. maksudnya variabel i tersebut untuk memberitahu array nomer berapa yang akan kita pakai..

avatar Adingnj
@Adingnj

41 Kontribusi 8 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban