Initial commit: Upload project WebGIS dengan tema Merah Putih
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
include '../koneksi.php';
|
||||
header('Content-Type: application/json');
|
||||
|
||||
$nama_jalan = trim($_POST['nama_jalan'] ?? '');
|
||||
$status_jalan = trim($_POST['status_jalan'] ?? '');
|
||||
$panjang_meter = trim($_POST['panjang_meter'] ?? '0');
|
||||
$koordinat = trim($_POST['koordinat'] ?? '');
|
||||
|
||||
if (!$nama_jalan || !$status_jalan || !$koordinat) {
|
||||
echo json_encode(['status'=>'error','message'=>'Field wajib tidak boleh kosong.']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$decoded = json_decode($koordinat, true);
|
||||
if (!$decoded || ($decoded['geometry']['type'] ?? '') !== 'LineString') {
|
||||
echo json_encode(['status'=>'error','message'=>'Format GeoJSON tidak valid.']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$valid_status = ['Jalan Nasional','Jalan Provinsi','Jalan Kabupaten'];
|
||||
if (!in_array($status_jalan, $valid_status)) {
|
||||
echo json_encode(['status'=>'error','message'=>'Status jalan tidak valid.']);
|
||||
exit;
|
||||
}
|
||||
|
||||
try {
|
||||
$stmt = $pdo->prepare(
|
||||
"INSERT INTO jalan (nama_jalan, status_jalan, panjang_meter, koordinat)
|
||||
VALUES (?, ?, ?, ?)"
|
||||
);
|
||||
$stmt->execute([$nama_jalan, $status_jalan, $panjang_meter, $koordinat]);
|
||||
$id = $pdo->lastInsertId();
|
||||
|
||||
$stmtSelect = $pdo->prepare("SELECT * FROM jalan WHERE id=?");
|
||||
$stmtSelect->execute([$id]);
|
||||
$data = $stmtSelect->fetch(PDO::FETCH_ASSOC);
|
||||
|
||||
echo json_encode(['status'=>'success','data'=>$data]);
|
||||
} catch (PDOException $e) {
|
||||
echo json_encode(['status'=>'error','message'=>$e->getMessage()]);
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user