50 lines
2.0 KiB
PHP
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();
|