Files
d1041231060-WebGIS-PovertyMap/uas/api/change_password.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

34 lines
1020 B
PHP

<?php
header('Content-Type: application/json');
include '../koneksi.php';
include '../auth.php';
requireLogin();
$user_id = (int)($_SESSION['user']['id'] ?? 0);
$old = $_POST['old_password'] ?? '';
$new = $_POST['new_password'] ?? '';
if (strlen($new) < 6) {
echo json_encode(['status' => 'error', 'message' => 'Password baru minimal 6 karakter']);
exit;
}
$st = mysqli_prepare($conn, "SELECT password FROM users WHERE id = ?");
mysqli_stmt_bind_param($st, 'i', $user_id);
mysqli_stmt_execute($st);
$row = mysqli_fetch_assoc(mysqli_stmt_get_result($st));
if (!$row || !password_verify($old, $row['password'])) {
echo json_encode(['status' => 'error', 'message' => 'Password lama tidak sesuai']);
exit;
}
$hash = password_hash($new, PASSWORD_DEFAULT);
$st2 = mysqli_prepare($conn, "UPDATE users SET password = ? WHERE id = ?");
mysqli_stmt_bind_param($st2, 'si', $hash, $user_id);
mysqli_stmt_execute($st2);
$_SESSION['user']['password'] = $hash;
echo json_encode(['status' => 'success']);