prepare("SELECT * FROM users WHERE id = ?"); $stmt->execute([$_SESSION['uid']]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if (!$user || !password_verify($old, $user['password_hash'])) { $msg = '原密码错误'; } elseif (strlen($new) < 8) { $msg = '新密码至少 8 位'; } elseif ($new !== $confirm) { $msg = '两次输入的新密码不一致'; } else { $stmt = $db->prepare("UPDATE users SET password_hash = ? WHERE id = ?"); $stmt->execute([password_hash($new, PASSWORD_DEFAULT), $_SESSION['uid']]); $msg = '密码修改成功'; $ok = true; } } $page_title = '修改密码'; $nav_active = 'admin'; require __DIR__ . '/includes/header.php'; ?>