Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec mon formulaire de contact

Sujet résolu
    20 septembre 2006 à 16:46:42

    Bonjour,
    J'ai un problème avec mon formulaire de contact. Je vous explique le formulaire :
    -un champ email
    -un champ de confirmation d'email
    -un champ pour le message

    Mon problème et que :
    1)Si il manque une valeur car le visteur n'a pas bien le formulaire et bien normalement s'affiche une erreur et cela remet le formulaire avec les valeurs des champs qui était remplis mais là s'affiche rien du tout et je sais pas pourquoi ?

    2)J'ai le même problème lorsque le visiteur saisi 2 adresses email différrentes.

    Je vous donne le code :


    <?php

    if (isset($_POST['message'],$_POST['email'],$_POST['email2']))
    {

            if ($_POST['email'] == $_POST['email2'])
            {
            $email = htmlentities($_POST['email'], ENT_QUOTES);
            $message = htmlentities($_POST['message'], ENT_QUOTES);
            $message ='Bonjour,
            Un message du site Lechenil.


            Email du visiteur : '
    . $email .'

            Message : '
    .$message.'';

            $envoi = mail('adresse@email.com', 'Contact', $message);

                    if ($envoi = TRUE)
                    {
                    echo'Votre message à bien était envoyé. Nous y répondrons le plus rapidement possible.';
                    }

                    elseif ($envoi = FALSE)
                    {
                    echo'<strong>Erreur !!</strong> Votre message n\'a pas était envoyé car il y a eu un problème lors de l\'envoi. Merci de réessayer. Si le problème persite contactez-nous par le biais de cette adresse <a href="mailto:adresse@email.com">adresse@email.com</a>
                     ou sur le forum.<br/> <strong>Merci de votre compréhension.</strong>'
    ;
                    }
           
           
           
            else
            {
                    if (isset($_POST['message']))
                    {
                    $message = htmlentities($_POST['message']);
                    }

                    else
                    {
                    $message = NULL;
                    }
                   
                   
                   
                    if (isset($_POST['email']))
                    {
                    $email = htmlentities($_POST['email']);
                    }

                    else
                    {
                    $email = NULL;
                    }
                   
                   
                   
                    if (isset($_POST['email2']))
                    {
                    $email2 = htmlentities($_POST['email2']);
                    }

                    else
                    {
                    $email2 = NULL;
                    }
           
    ?>
       <form method="post" action="contactenvoi.php">
            <fieldset>
           <legend>Contact</legend>
       <p>
           <label>Votre adresse email : <input type="text" name="email" value="<?php echo $email; ?>"/></label>
       </p>
       
       <p>
           <label>Confirmer votre adresse email : <input type="text" name="email2" value="<?php echo $email2; ?>"/></label>
       </p>
     
           <p><label>
               Votre message :<br />
               <textarea name="message" rows="11" cols="65"><?php echo $message; ?></textarea>
           </label></p>
              
            </fieldset>
            <div><input type="submit" value="Envoyer"/> <input type="reset" value="Remettre à zéro"/></div>


            </form>
       <?php

            }

            }



    }

    else
    {
    echo'<strong>Erreur !!</strong> Il reste un ou des champs vide(s). Merci de réessayer';
                    if (isset($_POST['message']))
                    {
                    $message = htmlentities($_POST['message']);
                    }

                    else
                    {
                    $message = NULL;
                    }
                   
                   
                   
                    if (isset($_POST['email']))
                    {
                    $email = htmlentities($_POST['email']);
                    }

                    else
                    {
                    $email = NULL;
                    }
                   
                   
                   
                    if (isset($_POST['email2']))
                    {
                    $email2 = htmlentities($_POST['email2']);
                    }

                    else
                    {
                    $email2 = NULL;
                    }
           

            ?>
       <form method="post" action="contactenvoi.php">
            <fieldset>
           <legend>Contact</legend>
       <p>
           <label>Votre adresse email : <input type="text" name="email" value="<?php echo $email; ?>"/></label>
       </p>
       
       <p>
           <label>Confirmer votre adresse email : <input type="text" name="email2" value="<?php echo $email2; ?>"/></label>
       </p>
     
           <p><label>
               Votre message :<br />
               <textarea name="message" rows="11" cols="65"><?php echo $message; ?></textarea>
           </label></p>
              
            </fieldset>
            <div><input type="submit" value="Envoyer"/> <input type="reset" value="Remettre à zéro"/></div>


            </form>
       <?php
    }

    ?>


    Merci de votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      20 septembre 2006 à 16:50:32

      a partir du moment ou tu envoies un formulaire, les variable existent forcement, meme si elles sont nulles, tu doit donc vérifié qu'elles existent, mais aussi qu'elles ne sont pas vide. Soit par if (!empty($_POST['variable'])) soit par if ($_POST['variable'] != NULL), dans ces deux cas la tu envoies l'email, sinon (else) tu leur dis que des champs sont vides
      • Partager sur Facebook
      • Partager sur Twitter
        20 septembre 2006 à 16:52:50

        Ca régle pas mon problème. lol
        • Partager sur Facebook
        • Partager sur Twitter
          20 septembre 2006 à 17:00:42

          essaie d'une maniere simple de faire cette condition sur ta page :
          if (isset($_POST['message'],$_POST['email'],$_POST['email2']) AND $_POST['message'],$_POST['email'],$_POST['email2'] != NULL)
          {
          echo 'envoie du mail';
          }
          else
          {
          echo 'champ non remplis';
          }

          et vois ensuite ce que cela donne. Met en commentaire le reste pdt tes essais afin de les recupéré facilement ulterieurement.
          • Partager sur Facebook
          • Partager sur Twitter
            20 septembre 2006 à 17:38:54

            Ben je pense que ça vien de la condition.

            UPDATE : C'est bon j'ai trouvé la solution !
            • Partager sur Facebook
            • Partager sur Twitter

            Problème avec mon formulaire de contact

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown