"; 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 } } } } } } ?>