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_non_valide']; } elseif ($mdp1 && ($mdp1 !== $mdp2 || strlen($mdp1) < 8)) { $erreur = $translations['erreur_mdp_invalides']; } else { // Vérifier si l'email est déjà pris (sauf si c’est le sien) $stmt = $pdo->prepare("SELECT id FROM compte WHERE email = ? AND id != ?"); $stmt->execute([$nouvel_email, $id]); if ($stmt->fetch()) { $erreur = $translations['err_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['success_compte_mis_a_jour']; // Optionnel : mettre à jour $email_actuel pour refléter l'écran $email_actuel = $nouvel_email; } } } require_once '../includes/header.php'; ?>

👁️
:
👁️