true,'nama'=>$row['nama']] : ['ok'=>false]); exit; } // ── AJAX: reset password ──────────────────────────────────────── if (($_POST['action'] ?? '') === 'reset_password') { $u = trim($_POST['username'] ?? ''); $pass = $_POST['new_password'] ?? ''; if (strlen($pass) < 6) { echo json_encode(['ok'=>false,'msg'=>'Password minimal 6 karakter']); exit; } $hash = password_hash($pass, PASSWORD_DEFAULT); $st = mysqli_prepare($conn, "UPDATE users SET password=? WHERE username=?"); mysqli_stmt_bind_param($st, 'ss', $hash, $u); mysqli_stmt_execute($st); echo json_encode(mysqli_stmt_affected_rows($st) > 0 ? ['ok'=>true] : ['ok'=>false,'msg'=>'Username tidak ditemukan']); exit; } // ── Login biasa ───────────────────────────────────────────────── $error = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $username = trim($_POST['username'] ?? ''); $password = $_POST['password'] ?? ''; $stmt = mysqli_prepare($conn, "SELECT id, username, password, nama, role FROM users WHERE username = ?"); mysqli_stmt_bind_param($stmt, 's', $username); mysqli_stmt_execute($stmt); $user = mysqli_fetch_assoc(mysqli_stmt_get_result($stmt)); if ($user && password_verify($password, $user['password'])) { $_SESSION['user'] = $user; header('Location: index.php'); exit; } $error = 'Username atau password salah.'; } ?>
WebGIS Sebaran Penduduk Miskin
Default: admin / admin123