Souci dans l'envoi d''un formulaire de contact par email

Fermé
Picrea - 25 oct. 2022 à 10:17
jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 - 25 oct. 2022 à 10:57

Bonjour la commnauté
j'ai récupéré un code pour faire un envoi via boite email d'un formulaire. Mais malheureusement, je rencontre des soucis lorsque je remplis mal mes champs (faut bien tester ^^)

<?php

if(isset($_POST['email'])) {

    $email_to = "***@***";
    $email_subject = "Demande d'information par la page Contact";
    function died($error) {

        // your error code can go here

        echo "<div class='alert-danger'>Nous sommes désolés, mais des erreurs ont été détectées dans le formulaire que tu as envoyé. ";
        echo "Ces erreurs apparaissent ci-dessous.<br /><br />";
        echo $error."<br /><br />";
        echo "Merci de corriger ces erreurs.<br /><br /></div>";
        die();

    }

    // si la validation des données attendues existe

     if(!isset($_POST['nom']) ||
        !isset($_POST['prenom']) ||
        !isset($_POST['email']) ||
        !isset($_POST['commentaire']) ||
        !isset($_POST['validation'])) {
        died('Nous sommes désolés, mais le formulaire que tu as soumis semble poser un problème.');
    }

    $nom = $_POST['nom']; // required
    $prenom = $_POST['prenom']; // required
    $email = $_POST['email']; // required
    $commentaire = $_POST['commentaire']; // required
    $validation = $_POST['validation']; // required
    $error_message = "";

    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
    if(!preg_match($email_exp,$email)) {
      $error_message .= "L'adresse e-mail que vous avez entrée ne semble pas être valide.<br />";

    }

      // Prend les caractères alphanumériques + le point et le tiret 6
      $string_exp = "/^[A-Za-z0-9 .'-]+$/";
    if(!preg_match($string_exp,$nom)) {
      $error_message .= "Le nom que vous avez entré ne semble pas être valide.<br />";
    }

    if(!preg_match($string_exp,$prenom)) {
      $error_message .= "Le prénom que vous avez entré ne semble pas être valide.<br />";
    }

    if(strlen($commentaire) < 2) {
      $error_message .= "Le commentaire que vous avez entré ne semble pas être valide.<br />";
    }

    if(strlen($error_message) > 0) {
      died($error_message);
    }

    $email_message = "Fiche information\n\n";
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
      }

    $email_message .= "Nom : ".$nom."\n";
    $email_message .= "Prenom : ".$prenom."\n";
    $email_message .= "Email : ".$email."\n";
    $email_message .= "Commentaire: ".$commentaire."\n";

    // create email headers
    $headers = 'From: '.$email."\r\n".
    'Reply-To: '.$email."\r\n" .

    'X-Mailer: PHP/' . phpversion();
    mail($email_to, $email_subject, $email_message, $headers);
    ?>

     

Le problème qui se pose se situe au niveau du retour erreur des champs.
Ma page plante et elle ne se réinitialise pas. Je reste dans l'erreur page bloquée.

Ma question est, est-ce que là, visuellement, vous voyez déjà une anomalie ou voir où je pourrais retrouver mon erreur

Page sur le web : https://www.autoecolemistral.fr/nous-contacter.html

Merci par avance de votre futur aide

1 réponse

jordane45 Messages postés 38134 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 avril 2024 4 646
25 oct. 2022 à 10:57

Bonjour,

Ma page plante et elle ne se réinitialise pas.

Normal, vu que tu fais un die ( tu as un d en trop au passage.. d'où, en plus, une erreur de syntaxe php) 

  died($error_message);

0