Formulaire de contacte

Bonjour,

svp je veux avoir un code source d'une formulaire de contacte pour mon site web en php et html et merci d'avance

2 réponses

  • Votes
  • Date
  • Date décroissante
    1. merci bien mais j'ai réalisé mon propre formulaire de contact mais il ya quelque chose qui ne va pas (l'email ne s'envois pas) c'est pour cela que j'ai demandé un exemple pour savoir ou se trouve l'erreur dans mon formulaire
      en tt cas merci bien
    2. Ben met nous ton code et essaiera de trouver d'où viens le problème.
    3. c'est le code source de la formulaire dans le fichier contacte.htm:
      <form id="contact" method="post" action="traitement_formulaire.php">
      <fieldset><legend><span class="Style4">Vos coordonnées</span></legend>
      <p><label for="nom"><span class="Style2">Nom :</span></label>
      <input type="text" id="nom" name="nom" tabindex="1" /></p>
      <p> </p>
      <p><label for="email"><span class="Style2">Email :</span></label>
      <input type="text" id="email" name="email" tabindex="2" /></p>
      </fieldset>

      <fieldset><legend><span class="Style4">Votre message :</span></legend>
      <p><label for="objet"><span class="Style2">Objet :</span></label>
      <input type="text" id="objet" name="objet" tabindex="3" /></p>
      <p> </p>
      <p><label for="message"><span class="Style2">Message :</span></label>
      <textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea>
      </p>
      </fieldset>

      <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
      </form>
      //////////////////////////////////////////////////////////////////////////////////////

      c'est le fichier traitement formulaire.php:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <title>traitement-formulaire</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body>
      <?php
      /*
      ********************************************************************************************
      CONFIGURATION
      ********************************************************************************************
      */
      // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
      $destinataire = 'samia.khalfi@hotmail.fr';

      // copie ? (envoie une copie au visiteur)
      $copie = 'oui'; // 'oui' ou 'non'

      // Messages de confirmation du mail
      $message_envoye = "Votre message nous est bien parvenu !";
      $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

      // Messages d'erreur du formulaire
      $message_erreur_formulaire = "Vous devez d'abord <a href=\"Contact.html\">envoyer le formulaire</a>.";
      $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

      /*
      ********************************************************************************************
      FIN DE LA CONFIGURATION
      ********************************************************************************************
      */

      // on teste si le formulaire a été soumis
      if (!isset($_POST['envoi']))
      {
      // formulaire non envoyé
      echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
      }
      else
      {
      /*
      * cette fonction sert à nettoyer et enregistrer un texte
      */
      function Rec($text)
      {
      $text = trim($text); // delete white spaces after & before text
      if (1 === get_magic_quotes_gpc())
      {
      $stripslashes = create_function('$txt', 'return stripslashes($txt);');
      }
      else
      {
      $stripslashes = create_function('$txt', 'return $txt;');
      }

      // magic quotes ?
      $text = $stripslashes($text);
      $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
      $text = nl2br($text);
      return $text;
      };

      // formulaire envoyé, on récupère tous les champs.
      $nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
      $email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
      $objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
      $message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

      // On va vérifier les variables et l'email ...

      if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
      {
      // les 4 variables sont remplies, on génère puis envoie le mail
      $headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

      // envoyer une copie au visiteur ?
      if ($copie == 'oui')
      {
      $cible = $destinataire.','.$email;
      }
      else
      {
      $cible = $destinataire;
      };

      // Remplacement de certains caractères spéciaux
      $message = str_replace("'","'",$message);
      $message = str_replace("’","'",$message);
      $message = str_replace(""",'"',$message);
      $message = str_replace('<br>','',$message);
      $message = str_replace('<br />','',$message);
      $message = str_replace("<","<",$message);
      $message = str_replace(">",">",$message);
      $message = str_replace("&","&",$message);

      // Envoi du mail
      if (mail($cible, $objet, $message, $headers))
      {
      echo '<p>'.$message_envoye.'</p>'."\n";
      }
      else
      {
      echo '<p>'.$message_non_envoye.'</p>'."\n";
      };
      }
      else
      {
      // une des 3 variables (ou plus) est vide ...
      echo '<p>'.$message_formulaire_invalide.' <a href="Contact.html">Retour au formulaire</a></p>'."\n";
      };
      }; // fin du if (!isset($_POST['envoi']))
      ?>

      </body>
      </html>
  1. Modérateur
    ben moi aussi !
    https://www.commentcamarche.net/faq/4516-webmaster-un-formulaire-de-contact-pour-votre-site
    https://www.unesourisetmoi.info/formulaire/nuls2.php
    (en ligne directement ...)
    ;)
    1. lorsque je trouve une solution pour un problème de quelqu'un et chui sure de ma réponse c'est sure que je lui pose ma solution et merci pour la remarque
    2. Modérateur
      pas tout compris là ;)