Error Database
Aplikasi akan berjalan dalam mode demo (tidak tersimpan ke server).
Selamat Datang
di PKBM Pelita Hati
Silakan isi buku tamu digital kami sebagai catatan kehadiran Anda.
Data Tamu
Daftar Hadir
Belum ada tamu yang tercatat.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { // Untuk keperluan UI, kita tangkap errornya tanpa merusak tampilan HTML jika ini request biasa $db_error = "Koneksi database gagal: " . $e->getMessage(); } // --- PENANGANAN API (AJAX REQUESTS) --- if (isset($_GET['action'])) { header('Content-Type: application/json'); if ($_GET['action'] == 'get_guests' && !isset($db_error)) { try { // Ambil data tamu, urutkan dari yang terbaru $stmt = $pdo->query("SELECT id, nama, instansi, no_hp, keperluan, tanda_tangan, DATE_FORMAT(waktu_kunjungan, '%H:%i') as time, DATE_FORMAT(waktu_kunjungan, '%d %b %Y') as date FROM tamu ORDER BY waktu_kunjungan DESC"); $guests = $stmt->fetchAll(PDO::FETCH_ASSOC); echo json_encode(['status' => 'success', 'data' => $guests]); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); } exit; } } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) { header('Content-Type: application/json'); if ($_POST['action'] == 'add_guest' && !isset($db_error)) { try { $nama = $_POST['nama']; $instansi = $_POST['instansi']; $no_hp = $_POST['no_hp']; $keperluan = $_POST['keperluan']; $tanda_tangan = $_POST['tanda_tangan']; // Base64 string $sql = "INSERT INTO tamu (nama, instansi, no_hp, keperluan, tanda_tangan) VALUES (?, ?, ?, ?, ?)"; $stmt = $pdo->prepare($sql); $stmt->execute([$nama, $instansi, $no_hp, $keperluan, $tanda_tangan]); echo json_encode(['status' => 'success', 'message' => 'Data berhasil disimpan']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => 'Gagal menyimpan data: ' . $e->getMessage()]); } exit; } } ?>
Error Database
Aplikasi akan berjalan dalam mode demo (tidak tersimpan ke server).
Silakan isi buku tamu digital kami sebagai catatan kehadiran Anda.
Belum ada tamu yang tercatat.