";
echo $txt['csrf_error'];
echo "";
return ;
exit();
}
// Ici Le visiteur soumet le formulaire
if (($nobotc != md5($nobotv)) || ($nobotv == '') || ($nobots != '')) {
echo "";
echo $txt['antispam_error'];
echo "";
return ;
} else {
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = strip_tags(trim($_POST["name"]));
$email = filter_var(trim($_POST["email"]), FILTER_VALIDATE_EMAIL);
$subject = strip_tags(trim($_POST["subject"]));
$message = strip_tags(trim($_POST["message"]));
$user_answer = isset($_POST['answer']) ? trim($_POST['answer']) : '';
// Validation des données
if (empty($name) || empty($email) || empty($subject) || empty($message) || empty($user_answer)) {
echo "";
echo $txt['required_fields'];
echo "";
return ; // Réaffiche le formulaire en cas d'erreur
} else {
// Vérifier la présence de liens : si oui, fin du script
if (preg_match('/http(s?):\/\//ism', $message)) {
echo "";
echo $txt['link_error'];
echo "";
return ; // Réaffiche le formulaire en cas d'erreur
exit(); // Arrêter l'exécution si un lien est trouvé
}
// Vérifier la présence de mots-clés
$bad_words = $config['bad_words'];
foreach ($bad_words as $bad) {
if (stripos($message, $bad) !== false) {
echo "";
echo $txt['bad_word_error'];
echo "";
return ; // Réaffiche le formulaire en cas d'erreur
exit(); // Arrêter l'exécution si un mot interdit est trouvé
}
}
// Vérifier la réponse à la question antispam
if (isset($_POST['submit_form'])) {
if (!empty($user_answer) && in_array(strtolower($user_answer), array_map('strtolower', $correct_answers))) {
echo $txt['good_answer'];
unset($_SESSION['current_question']);
unset($_SESSION['correct_answers']);
// Envoi de l'e-mail
$to = $config['email']; // Remplacez par votre adresse e-mail
$subject_prefix = $config['subject_prefix'];
$subjectreal = "$subject_prefix : $subject";
$headers = "From: $name <$email>";
if (mail($to, $subjectreal, $message, $headers)) {
echo $txt['email_success'];
} else {
echo $txt['email_error'];
}
} else {
echo "";
echo $txt['bad_answer'];
echo "";
return ; // Réaffiche le formulaire en cas d'erreur
}
}
}
}
}
}
?>