query( "UPDATE customers SET name = :name, phone = :phone, updated_at = NOW() WHERE customer_id = :id", ['name' => $name, 'phone' => $phone, 'id' => $customer['customer_id']] ); $success = 'Profile updated successfully'; $customer['name'] = $name; $customer['phone'] = $phone; } if ($action === 'change_password') { $currentPassword = $_POST['current_password'] ?? ''; $newPassword = $_POST['new_password'] ?? ''; $confirmPassword = $_POST['confirm_password'] ?? ''; if (!password_verify($currentPassword, $customer['password_hash'])) { $error = 'Current password is incorrect'; } elseif (strlen($newPassword) < 8) { $error = 'New password must be at least 8 characters'; } elseif ($newPassword !== $confirmPassword) { $error = 'New passwords do not match'; } else { $newHash = password_hash($newPassword, PASSWORD_DEFAULT); db()->query( "UPDATE customers SET password_hash = :hash, updated_at = NOW() WHERE customer_id = :id", ['hash' => $newHash, 'id' => $customer['customer_id']] ); $success = 'Password changed successfully'; } } if ($action === 'update_preferences') { $newsletter = isset($_POST['newsletter']) ? 1 : 0; $smsNotifications = isset($_POST['sms_notifications']) ? 1 : 0; $preferences = [ 'newsletter' => $newsletter, 'sms_notifications' => $smsNotifications ]; db()->query( "UPDATE customers SET preferences = :prefs, updated_at = NOW() WHERE customer_id = :id", ['prefs' => json_encode($preferences), 'id' => $customer['customer_id']] ); // Update newsletter subscription if ($newsletter) { $existing = db()->fetch("SELECT id FROM email_subscribers WHERE email = :email", ['email' => $customer['email']]); if (!$existing) { db()->insert('email_subscribers', [ 'email' => strtolower($customer['email']), 'name' => $customer['name'], 'source' => 'account' ]); } } else { db()->query("DELETE FROM email_subscribers WHERE email = :email", ['email' => $customer['email']]); } $success = 'Preferences updated'; } } $preferences = json_decode($customer['preferences'] ?? '{}', true); require_once __DIR__ . '/../includes/header.php'; require_once __DIR__ . '/includes/sidebar.php'; ?>
Manage your account settings
Once you delete your account, there is no going back. Please be certain.