'error', 'message' => 'Method tidak diizinkan.']); exit; } // ── Ambil & bersihkan data dari form ────────────────────────────────────────── $nama_spbu = trim($_POST['nama_spbu'] ?? ''); $status_ramai = trim($_POST['status_ramai'] ?? ''); $buka_24_jam = trim($_POST['buka_24_jam'] ?? ''); $status_operasional = trim($_POST['status_operasional'] ?? ''); $nomor_hp = trim($_POST['nomor_hp'] ?? ''); $latitude = trim($_POST['latitude'] ?? ''); $longitude = trim($_POST['longitude'] ?? ''); // ── Validasi: pastikan tidak ada field yang kosong ──────────────────────────── if ( empty($nama_spbu) || empty($status_ramai) || empty($buka_24_jam) || empty($status_operasional) || empty($nomor_hp) || $latitude === '' || $longitude === '' ) { echo json_encode(['status' => 'error', 'message' => 'Semua field wajib diisi.']); exit; } // ── Validasi nilai ENUM ─────────────────────────────────────────────────────── $valid_ramai = ['ramai', 'tidak_ramai']; $valid_24jam = ['ya', 'tidak']; $valid_operasional = ['buka', 'tutup']; if (!in_array($status_ramai, $valid_ramai)) { echo json_encode(['status' => 'error', 'message' => 'Nilai status ramai tidak valid.']); exit; } if (!in_array($buka_24_jam, $valid_24jam)) { echo json_encode(['status' => 'error', 'message' => 'Nilai buka 24 jam tidak valid.']); exit; } if (!in_array($status_operasional, $valid_operasional)) { echo json_encode(['status' => 'error', 'message' => 'Nilai status operasional tidak valid.']); exit; } // ── Simpan ke database menggunakan prepared statement (mencegah SQL Injection) ─ $stmt = $koneksi->prepare( "INSERT INTO spbu (nama_spbu, status_ramai, buka_24_jam, status_operasional, nomor_hp, latitude, longitude) VALUES (?, ?, ?, ?, ?, ?, ?)" ); // Bind parameter: s = string, d = double/float $stmt->bind_param( 'sssssdd', $nama_spbu, $status_ramai, $buka_24_jam, $status_operasional, $nomor_hp, $latitude, $longitude ); // Eksekusi query if ($stmt->execute()) { // Berhasil: kembalikan ID baru dan semua data yang disimpan echo json_encode([ 'status' => 'success', 'message' => 'Data SPBU berhasil ditambahkan.', 'data' => [ 'id' => $koneksi->insert_id, 'nama_spbu' => $nama_spbu, 'status_ramai' => $status_ramai, 'buka_24_jam' => $buka_24_jam, 'status_operasional' => $status_operasional, 'nomor_hp' => $nomor_hp, 'latitude' => (float) $latitude, 'longitude' => (float) $longitude, ] ]); } else { // Gagal: kembalikan pesan error echo json_encode(['status' => 'error', 'message' => 'Gagal menyimpan data: ' . $stmt->error]); } $stmt->close(); $koneksi->close(); ?>