76 lines
2.9 KiB
PHP
76 lines
2.9 KiB
PHP
<?php
|
|
// ========================================
|
|
// FILE: php/simpan_masyarakat.php
|
|
// Menyimpan data masyarakat miskin
|
|
// ========================================
|
|
|
|
include 'koneksi.php';
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
|
|
$nama = sanitize($_POST['nama'] ?? '', $conn);
|
|
$tanggal_lahir = sanitize($_POST['tanggal_lahir'] ?? '', $conn);
|
|
$jenis_kelamin = sanitize($_POST['jenis_kelamin'] ?? '', $conn);
|
|
$nik = sanitize($_POST['nik'] ?? '', $conn);
|
|
$alamat = sanitize($_POST['alamat'] ?? '', $conn);
|
|
$latitude = floatval($_POST['latitude'] ?? 0);
|
|
$longitude = floatval($_POST['longitude'] ?? 0);
|
|
$status_bpjs = sanitize($_POST['status_bpjs'] ?? 'Tidak', $conn);
|
|
$no_hp = sanitize($_POST['no_hp'] ?? '', $conn);
|
|
$pekerjaan = sanitize($_POST['pekerjaan'] ?? '', $conn);
|
|
$pendapatan = intval($_POST['pendapatan_bulanan'] ?? 0);
|
|
$tanggungan = intval($_POST['jumlah_tanggungan'] ?? 0);
|
|
$status_rumah = sanitize($_POST['status_rumah'] ?? 'Menumpang', $conn);
|
|
$kelurahan = sanitize($_POST['kelurahan'] ?? '', $conn);
|
|
$kecamatan = sanitize($_POST['kecamatan'] ?? '', $conn);
|
|
|
|
// VALIDASI INPUT
|
|
if (empty($nama)) {
|
|
sendJSON('error', 'Nama 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)');
|
|
}
|
|
|
|
// CEK DUPLIKAT NIK (jika NIK diisi)
|
|
if (!empty($nik)) {
|
|
$stmt_cek = $conn->prepare("SELECT id FROM masyarakat_miskin WHERE nik = ?");
|
|
$stmt_cek->bind_param("s", $nik);
|
|
$stmt_cek->execute();
|
|
$cek = $stmt_cek->get_result();
|
|
if ($cek && $cek->num_rows > 0) {
|
|
sendJSON('error', 'NIK sudah terdaftar di sistem');
|
|
}
|
|
$stmt_cek->close();
|
|
}
|
|
|
|
// QUERY INSERT
|
|
$query = "INSERT INTO masyarakat_miskin
|
|
(nama, tanggal_lahir, jenis_kelamin, nik, alamat, latitude, longitude,
|
|
status_bpjs, no_hp, pekerjaan, pendapatan_bulanan, jumlah_tanggungan,
|
|
status_rumah, kelurahan, kecamatan)
|
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
|
|
|
$stmt = $conn->prepare($query);
|
|
if ($stmt === false) {
|
|
sendJSON('error', 'Gagal prepare statement: ' . $conn->error);
|
|
}
|
|
|
|
$stmt->bind_param("sssssddsssiisss", $nama, $tanggal_lahir, $jenis_kelamin, $nik, $alamat, $latitude, $longitude, $status_bpjs, $no_hp, $pekerjaan, $pendapatan, $tanggungan, $status_rumah, $kelurahan, $kecamatan);
|
|
|
|
if ($stmt->execute()) {
|
|
$id = $stmt->insert_id;
|
|
sendJSON('success', 'Data masyarakat berhasil disimpan', ['id' => $id]);
|
|
} else {
|
|
sendJSON('error', 'Gagal menyimpan data: ' . $stmt->error);
|
|
}
|
|
$stmt->close();
|
|
|
|
} else {
|
|
sendJSON('error', 'Method tidak diizinkan. Gunakan POST.');
|
|
}
|
|
?>
|