format('H:i:s'); $tanggal = $now->format('Y-m-d'); // Ambil jam masuk dan pulang dari database $jamSet = mysqli_query($conn, "SELECT jam_masuk, jam_pulang FROM pengaturan_jam LIMIT 1"); if ($row = mysqli_fetch_assoc($jamSet)) { $jamMasukDeadline = new DateTime($row['jam_masuk'], new DateTimeZone("Asia/Jakarta")); $jamPulangBatas = new DateTime($row['jam_pulang'], new DateTimeZone("Asia/Jakarta")); } else { // Default fallback jika tidak ada data $jamMasukDeadline = new DateTime('08:00:00', new DateTimeZone("Asia/Jakarta")); $jamPulangBatas = new DateTime('15:00:00', new DateTimeZone("Asia/Jakarta")); } $jamSekarang = new DateTime($jam, new DateTimeZone("Asia/Jakarta")); $result_absen = mysqli_query($conn, "SELECT * FROM absensi WHERE rfid='$rfid' AND tanggal='$tanggal' AND jam_pulang IS NULL"); if (mysqli_num_rows($result_absen) > 0) { // Cek apakah sudah boleh absen pulang if ($jamSekarang >= $jamPulangBatas) { $absen = mysqli_fetch_assoc($result_absen); $id_absen = $absen['id']; mysqli_query($conn, "UPDATE absensi SET jam_pulang='$jam', foto_kepulangan='$foto_kepulangan' WHERE id='$id_absen'"); echo "Pulang: " . $jam; } else { echo "Belum waktunya pulang!"; } } else { // Cek status kehadiran $status = ($jamSekarang > $jamMasukDeadline) ? 'Terlambat' : 'Tepat Waktu'; // Input absen masuk dengan foto kehadiran mysqli_query($conn, "INSERT INTO absensi (rfid, nama, jabatan, tanggal, jam_masuk, status_kehadiran, foto_kehadiran) SELECT rfid, nama, jabatan, '$tanggal', '$jam', '$status', '$foto_kehadiran' FROM karyawan WHERE rfid='$rfid'"); echo "Masuk: " . $jam . " ($status)"; } exit(); } ?> Absensi

Absensi

No RFID Nama Jabatan Jam Masuk Status Jam Pulang Foto Kehadiran Foto Kepulangan