Files
UAS_SIG/backend/create_miskin.php
T
2026-06-08 21:16:23 +07:00

50 lines
2.0 KiB
PHP

<?php
// backend/create_miskin.php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Allow-Headers: Content-Type');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { http_response_code(200); exit; }
if ($_SERVER['REQUEST_METHOD'] !== 'POST') { http_response_code(405); echo json_encode(['success' => false, 'message' => 'Metode tidak diizinkan.']); exit; }
require_once __DIR__ . '/koneksi.php';
$body = file_get_contents('php://input');
$data = json_decode($body, true);
if (!$data) { http_response_code(400); echo json_encode(['success' => false, 'message' => 'Body request tidak valid.']); exit; }
$required = ['nama_kk', 'latitude', 'longitude'];
foreach ($required as $field) {
if (!isset($data[$field]) || trim((string)$data[$field]) === '') {
http_response_code(422);
echo json_encode(['success' => false, 'message' => "Field '$field' wajib diisi."]);
exit;
}
}
$nama_kk = trim($data['nama_kk']);
$keterangan= isset($data['keterangan']) ? trim($data['keterangan']) : '';
$latitude = (float) $data['latitude'];
$longitude = (float) $data['longitude'];
$conn = getConnection();
$sql = "INSERT INTO penduduk_miskin (nama_kk, keterangan, latitude, longitude) VALUES (?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
if (!$stmt) { http_response_code(500); echo json_encode(['success' => false, 'message' => 'Query error: ' . $conn->error]); $conn->close(); exit; }
$stmt->bind_param('ssdd', $nama_kk, $keterangan, $latitude, $longitude);
if ($stmt->execute()) {
http_response_code(201);
echo json_encode([
'success' => true,
'message' => 'Data Penduduk Miskin disimpan.',
'data' => [ 'id' => $stmt->insert_id, 'nama_kk' => $nama_kk, 'keterangan' => $keterangan, 'latitude' => $latitude, 'longitude' => $longitude ]
]);
} else {
http_response_code(500);
echo json_encode(['success' => false, 'message' => 'Gagal menyimpan: ' . $stmt->error]);
}
$stmt->close();
$conn->close();