70 lines
2.5 KiB
PHP
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.');
|
|
}
|
|
?>
|