Files
Webgis_final/01/php/simpan_rumah_ibadah.php
2026-06-10 23:17:11 +07:00

70 lines
2.5 KiB
PHP

<?php
// ========================================
// FILE: php/simpan_rumah_ibadah.php
// Menyimpan data rumah ibadah
// ========================================
include 'koneksi.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$nama = sanitize($_POST['nama'] ?? '', $conn);
$jenis = sanitize($_POST['jenis'] ?? '', $conn);
$alamat = sanitize($_POST['alamat'] ?? '', $conn);
$latitude = floatval($_POST['latitude'] ?? 0);
$longitude = floatval($_POST['longitude'] ?? 0);
$nama_pemimpin = sanitize($_POST['nama_pemimpin'] ?? '', $conn);
$no_hp_pemimpin = sanitize($_POST['no_hp_pemimpin'] ?? '', $conn);
$kapasitas = intval($_POST['kapasitas'] ?? 0);
$tahun = sanitize($_POST['tahun_didirikan'] ?? '', $conn);
$keterangan = sanitize($_POST['keterangan'] ?? '', $conn);
// VALIDASI
if (empty($nama)) {
sendJSON('error', 'Nama rumah ibadah wajib diisi');
}
if (empty($jenis)) {
sendJSON('error', 'Jenis rumah ibadah wajib diisi');
}
if (empty($alamat)) {
sendJSON('error', 'Alamat wajib diisi');
}
if ($latitude == 0 || $longitude == 0) {
sendJSON('error', 'Koordinat lokasi wajib diisi (klik peta untuk menentukan titik)');
}
// Validasi nilai ENUM jenis
$jenis_valid = ['Masjid', 'Gereja', 'Vihara', 'Kelenteng', 'Sinagog', 'Lain'];
if (!in_array($jenis, $jenis_valid)) {
sendJSON('error', 'Jenis rumah ibadah tidak valid');
}
// Isi tahun_didirikan dengan NULL jika kosong (karena tipe kolom YEAR)
$tahun_sql = empty($tahun) ? null : $tahun;
// QUERY INSERT
$query = "INSERT INTO rumah_ibadah
(nama, jenis, latitude, longitude, alamat,
nama_pemimpin, no_hp_pemimpin, kapasitas, tahun_didirikan, keterangan)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($query);
if ($stmt === false) {
sendJSON('error', 'Gagal prepare statement: ' . $conn->error);
}
$stmt->bind_param("ssddsssiss", $nama, $jenis, $latitude, $longitude, $alamat, $nama_pemimpin, $no_hp_pemimpin, $kapasitas, $tahun_sql, $keterangan);
if ($stmt->execute()) {
$id = $stmt->insert_id;
sendJSON('success', 'Data rumah ibadah berhasil disimpan', ['id' => $id]);
} else {
sendJSON('error', 'Gagal menyimpan data: ' . $stmt->error);
}
$stmt->close();
} else {
sendJSON('error', 'Method tidak diizinkan. Gunakan POST.');
}
?>