prepare("SELECT id FROM compte WHERE email = :email LIMIT 1"); $stmt->execute(['email' => $email]); $compte = $stmt->fetch(); if ($compte) { // Génère un code à 6 chiffres $code = random_int(100000, 999999); // Enregistre en session (TTL 10 minutes) $_SESSION['reset_email'] = $email; $_SESSION['reset_code'] = $code; $_SESSION['reset_time'] = time(); $_SESSION['reset_ttl'] = 600; // 10 min // Prépare l'e-mail $sujet = $translations['mail_sujet_code']; $codeHtml = htmlspecialchars((string)$code, ENT_QUOTES, 'UTF-8'); $html = "
".$translations['mail_bonjour']."

".$translations['mail_phrase_code']."

".$codeHtml."

".$translations['mail_phrase_validite']."

"; $text = strip_tags( $translations['mail_bonjour']."\n\n". $translations['mail_phrase_code']."\n". $code."\n". $translations['mail_phrase_validite']."\n\n". $translations['mail_signature'] ); // Envoi via PHPMailer helper list($ok, $err) = uslugi_mail($email, $sujet, $html, $text); if (!$ok) { error_log("Reset code mail NOT sent to $email : $err"); // On reste silencieux pour l’utilisateur } header("Location: verifier_code.php"); exit; } else { // Ton message existant si l'email est inconnu $message = $translations['erreur_email_inconnu']; } } } ?> <?= $translations['mdp_oublie_title'] ?>