prepare("SELECT name, email, phone, bio, subscription_status FROM agents WHERE id = ?"); $stmt->execute([$agent_id]); $agent = $stmt->fetch(); if ($_SERVER["REQUEST_METHOD"] == "POST") { // Note: Subscription status is not editable by the user. $name = trim($_POST['name']); $email = trim($_POST['email']); $phone = trim($_POST['phone']); $bio = trim($_POST['bio']); if (empty($name)) { $errors[] = 'El nombre es obligatorio.'; } if (empty($email)) { $errors[] = 'El email es obligatorio.'; } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors[] = 'El formato del email no es válido.'; } // Check if email is being changed and if the new one already exists if ($email !== $agent['email']) { $stmt = db()->prepare("SELECT id FROM agents WHERE email = ?"); $stmt->execute([$email]); if ($stmt->fetch()) { $errors[] = 'El nuevo email ya está en uso por otra cuenta.'; } } if (empty($errors)) { $stmt = db()->prepare("UPDATE agents SET name = ?, email = ?, phone = ?, bio = ? WHERE id = ?"); if ($stmt->execute([$name, $email, $phone, $bio, $agent_id])) { $_SESSION['agent_name'] = $name; // Update session name $success_message = 'Perfil actualizado con éxito.'; // Re-fetch data to display updated values $stmt = db()->prepare("SELECT name, email, phone, bio, subscription_status FROM agents WHERE id = ?"); $stmt->execute([$agent_id]); $agent = $stmt->fetch(); } else { $errors[] = 'Hubo un error al actualizar el perfil.'; } } } include 'templates/header.php'; ?>
Activa Inactiva