Files
d1041231060-WebGIS-PovertyMap/simpan_kemiskinan.php
T
Athallah Ghathfan Aqila 6215b4367a Initial commit — WebGIS UAS GeoMiskin
Sistem WebGIS analisis sebaran penduduk miskin dan jangkauan rumah ibadah.
Fitur: peta interaktif Leaflet.js, CRUD rumah ibadah & penduduk miskin,
auto-kategorisasi haversine, heatmap, export PDF/CSV, dashboard analitik,
manajemen pengguna (superadmin/admin), login sistem.

Teknologi: PHP, MySQL, Leaflet.js, OpenStreetMap, Nominatim Geocoding, mPDF.

Catatan: jalankan `composer install` di folder uas/ untuk install dependencies.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 13:31:33 +07:00

31 lines
1.5 KiB
PHP

<?php
include 'koneksi.php';
$n = mysqli_real_escape_string($conn, $_POST['nama_kk'] ?? '');
$j = max(1, (int)($_POST['jumlah_kk'] ?? 1));
$a = mysqli_real_escape_string($conn, $_POST['alamat'] ?? '');
$lt = (float)($_POST['lat'] ?? 0);
$lg = (float)($_POST['lng'] ?? 0);
$pkh = (isset($_POST['pkh']) && $_POST['pkh'] == '1') ? 1 : 0;
$bpnt = (isset($_POST['bpnt']) && $_POST['bpnt'] == '1') ? 1 : 0;
$blt = (isset($_POST['blt']) && $_POST['blt'] == '1') ? 1 : 0;
if (!$n || !$lt || !$lg) { echo json_encode(['status'=>'error','message'=>'Data tidak lengkap']); exit; }
$fotoSql = 'NULL';
if (!empty($_FILES['foto']['name']) && $_FILES['foto']['error'] === UPLOAD_ERR_OK) {
$ext = strtolower(pathinfo($_FILES['foto']['name'], PATHINFO_EXTENSION));
$allowed = ['jpg', 'jpeg', 'png', 'webp'];
if (in_array($ext, $allowed) && $_FILES['foto']['size'] <= 5 * 1024 * 1024) {
$dir = __DIR__ . '/uploads/kemiskinan/';
if (!is_dir($dir)) mkdir($dir, 0755, true);
$fname = 'kk_' . time() . '_' . rand(1000,9999) . '.' . $ext;
if (move_uploaded_file($_FILES['foto']['tmp_name'], $dir . $fname)) {
$fotoSql = "'" . mysqli_real_escape_string($conn, $fname) . "'";
}
}
}
$q = "INSERT INTO kemiskinan (nama_kk, jumlah_kk, alamat, lat, lng, pkh, bpnt, blt, foto)
VALUES ('$n', $j, '$a', $lt, $lg, $pkh, $bpnt, $blt, $fotoSql)";
if (mysqli_query($conn, $q)) echo json_encode(['status' => 'success']);
else echo json_encode(['status' => 'error', 'message' => mysqli_error($conn)]);