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_h3'] ?>
= htmlspecialchars($message, ENT_QUOTES, 'UTF-8') ?>