0, "resi_valid" => 0, "resi_invalid" => 0, "log_today" => 0, "log_ok" => 0, "log_fail" => 0 ]; $r = $conn->query("SELECT COUNT(*) c, SUM(status='valid') v, SUM(status='invalid') i FROM resi"); if ($r && $row = $r->fetch_assoc()) { $stats["total_resi"] = (int)($row["c"] ?? 0); $stats["resi_valid"] = (int)($row["v"] ?? 0); $stats["resi_invalid"] = (int)($row["i"] ?? 0); } $today = date("Y-m-d"); $r2 = $conn->query(" SELECT COUNT(*) c, SUM(status='berhasil') ok, SUM(status='gagal') fail FROM log_akses WHERE DATE(created_at)='{$today}' "); if ($r2 && $row2 = $r2->fetch_assoc()) { $stats["log_today"] = (int)($row2["c"] ?? 0); $stats["log_ok"] = (int)($row2["ok"] ?? 0); $stats["log_fail"] = (int)($row2["fail"] ?? 0); } // latest logs $latest = $conn->query(" SELECT id, nomor_resi, status, pesan, created_at, foto_path FROM log_akses ORDER BY created_at DESC LIMIT 8 "); ?>

Dashboard

Ringkasan sistem monitoring paket & autentikasi resi.
Total Resi Terdaftar
Valid: • Invalid:
Total Scan Hari Ini
Berhasil: • Gagal:
Status Server
Online
Mode: Localhost (XAMPP)
Log Terbaru
Lihat semua
num_rows > 0): ?> fetch_assoc()): ?>
Waktu Nomor Resi Status Pesan Foto
Berhasil Gagal " data-caption=""> " alt="foto" style="width:52px;height:52px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.2);cursor:pointer;" > -
Belum ada log.