prepare("SELECT email FROM compte WHERE id = ?"); $stmt->execute([$id]); $compte = $stmt->fetch(); if (!$compte) die($translations['compte_introuvable']); $email_actuel = $compte['email']; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $nouvel_email = trim($_POST['email'] ?? ''); $mdp1 = $_POST['mot_de_passe'] ?? ''; $mdp2 = $_POST['confirm_mot_de_passe'] ?? ''; if (!filter_var($nouvel_email, FILTER_VALIDATE_EMAIL)) { $erreur = $translations['erreur_email_invalide_format']; } elseif ($mdp1 && ($mdp1 !== $mdp2 || strlen($mdp1) < 8)) { $erreur = $translations['erreur_mdp_invalide_ou_non_confirme']; } else { // Vérifie que l'email n’est pas déjà pris (sauf pour soi) $stmt = $pdo->prepare("SELECT id FROM compte WHERE email = ? AND id != ?"); $stmt->execute([$nouvel_email, $id]); if ($stmt->fetch()) { $erreur = $translations['email_deja_utilise']; } else { // Mise à jour if ($mdp1) { $hash = password_hash($mdp1, PASSWORD_DEFAULT); $stmt = $pdo->prepare("UPDATE compte SET email = ?, mot_de_passe = ? WHERE id = ?"); $stmt->execute([$nouvel_email, $hash, $id]); } else { $stmt = $pdo->prepare("UPDATE compte SET email = ? WHERE id = ?"); $stmt->execute([$nouvel_email, $id]); } $success = $translations['maj_effectuee_succes']; } } } require_once '../includes/header.php'; ?>