50 lines
1.9 KiB
PHP
50 lines
1.9 KiB
PHP
<?php
|
|
// php/update_anggota.php
|
|
require_once 'koneksi.php';
|
|
header('Content-Type: text/plain');
|
|
|
|
$id = intval($_POST['id'] ?? 0);
|
|
$nama = trim($_POST['nama'] ?? '');
|
|
$tanggalLahir = trim($_POST['tanggal_lahir'] ?? '');
|
|
$jenisKelamin = trim($_POST['jenis_kelamin'] ?? 'laki_laki');
|
|
$hubungan = trim($_POST['hubungan_keluarga'] ?? 'anak');
|
|
$statusHidup = trim($_POST['status_hidup'] ?? 'hidup');
|
|
$pendidikan = trim($_POST['pendidikan'] ?? 'belum_sekolah');
|
|
$catatan = trim($_POST['catatan_khusus'] ?? '');
|
|
|
|
if (!$id || !$nama) {
|
|
http_response_code(400); echo 'Data tidak lengkap.'; exit;
|
|
}
|
|
|
|
$validJK = ['laki_laki','perempuan'];
|
|
$validHub = ['kepala_keluarga','istri','anak','orang_tua','saudara','lainnya'];
|
|
$validStatus = ['hidup','meninggal','pindah','menikah_keluar'];
|
|
$validPendid = ['belum_sekolah','paud','sd','smp','sma','kuliah','pesantren','pelatihan','bekerja','tidak_sekolah'];
|
|
|
|
if (!in_array($jenisKelamin, $validJK)) $jenisKelamin = 'laki_laki';
|
|
if (!in_array($hubungan, $validHub)) $hubungan = 'anak';
|
|
if (!in_array($statusHidup, $validStatus)) $statusHidup = 'hidup';
|
|
if (!in_array($pendidikan, $validPendid)) $pendidikan = 'belum_sekolah';
|
|
|
|
// Validasi tanggal — null jika kosong/tidak valid
|
|
$tgl = (!empty($tanggalLahir) && strtotime($tanggalLahir)) ? $tanggalLahir : null;
|
|
|
|
// 8 kolom: nama(s) tgl(s) jk(s) hub(s) status(s) pendidikan(s) catatan(s) id(i)
|
|
$stmt = $conn->prepare(
|
|
"UPDATE anggota_keluarga
|
|
SET nama=?, tanggal_lahir=?, jenis_kelamin=?, hubungan_keluarga=?,
|
|
status_hidup=?, pendidikan=?, catatan_khusus=?
|
|
WHERE id=?"
|
|
);
|
|
if (!$stmt) { http_response_code(500); echo 'Gagal prepare: ' . $conn->error; exit; }
|
|
|
|
$stmt->bind_param('sssssssi', $nama, $tgl, $jenisKelamin, $hubungan, $statusHidup, $pendidikan, $catatan, $id);
|
|
|
|
if ($stmt->execute()) {
|
|
echo 'success';
|
|
} else {
|
|
http_response_code(500); echo 'Gagal: ' . $stmt->error;
|
|
}
|
|
$stmt->close();
|
|
?>
|