getConnection(); // Get user data from session $username = $_SESSION['username']; $email = $_SESSION['email']; $tier = $_SESSION['tier']; $package = $_SESSION['package']; $balance = $_SESSION['balance']; $total_deposits = $_SESSION['total_deposits']; $total_withdrawals = $_SESSION['total_withdrawals']; $rewards = $_SESSION['rewards']; $earnings = $total_deposits - $total_withdrawals; // Get user settings from database function getUserSettings($db, $user_id) { $query = "SELECT * FROM user_settings WHERE user_id = ?"; $stmt = $db->prepare($query); $stmt->execute([$user_id]); return $stmt->fetch(PDO::FETCH_ASSOC) ?: []; } $user_settings = getUserSettings($db, $_SESSION['user_id']); // Handle form submissions if ($_SERVER['REQUEST_METHOD'] === 'POST') { $user_id = $_SESSION['user_id']; try { // Update general settings if (isset($_POST['update_settings'])) { $dark_mode = isset($_POST['dark_mode']) ? 1 : 0; $language = $_POST['language'] ?? 'en'; $currency = $_POST['currency'] ?? 'KES'; $auto_logout = isset($_POST['auto_logout']) ? 1 : 0; $query = "INSERT INTO user_settings (user_id, dark_mode, language, currency, auto_logout) VALUES (?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE dark_mode = VALUES(dark_mode), language = VALUES(language), currency = VALUES(currency), auto_logout = VALUES(auto_logout)"; $stmt = $db->prepare($query); if ($stmt->execute([$user_id, $dark_mode, $language, $currency, $auto_logout])) { $_SESSION['success'] = "Settings updated successfully!"; } } // Handle password change if (isset($_POST['change_password'])) { $current_password = $_POST['current_password']; $new_password = $_POST['new_password']; $confirm_password = $_POST['confirm_password']; if ($new_password !== $confirm_password) { $_SESSION['error'] = "New passwords do not match!"; } else { // Verify current password $query = "SELECT password_hash FROM users WHERE id = ?"; $stmt = $db->prepare($query); $stmt->execute([$user_id]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user && password_verify($current_password, $user['password_hash'])) { $new_password_hash = password_hash($new_password, PASSWORD_BCRYPT); $query = "UPDATE users SET password_hash = ? WHERE id = ?"; $stmt = $db->prepare($query); if ($stmt->execute([$new_password_hash, $user_id])) { $_SESSION['success'] = "Password updated successfully!"; } } else { $_SESSION['error'] = "Current password is incorrect!"; } } } // Handle account deletion if (isset($_POST['delete_account'])) { $confirm_password = $_POST['confirm_password']; // Verify password $query = "SELECT password_hash FROM users WHERE id = ?"; $stmt = $db->prepare($query); $stmt->execute([$user_id]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user && password_verify($confirm_password, $user['password_hash'])) { // Soft delete the account $query = "UPDATE users SET is_active = 0 WHERE id = ?"; $stmt = $db->prepare($query); if ($stmt->execute([$user_id])) { session_destroy(); header('Location: ../../index.php?account_deleted=1'); exit; } } else { $_SESSION['error'] = "Password is incorrect!"; } } } catch(PDOException $exception) { $_SESSION['error'] = "Error: " . $exception->getMessage(); } // Refresh settings after update $user_settings = getUserSettings($db, $_SESSION['user_id']); } ?> Settings | Japanese Motors
Jmotors

Settings

General
Security
Notifications

General Settings

Dark Mode

Switch between light and dark theme

Language

Select your preferred language

Currency

Default currency for transactions

Auto Logout

Automatically logout after inactivity

Danger Zone

Delete Account

Permanently delete your account