Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1399 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Formulaire de contact + traitement

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire de contact + traitement

n°2229136
Archablade
Posté le 26-05-2014 à 17:06:11  profilanswer
 

Salut à tous,
 
Je suis ici car j'ai passé ma journée à me battre contre un formulaire de contact. Le html et moi ça fait un moment qu'on ne s'est pas parlés et donc je galère sévèrement.
Le soucis est que j'ai acheté un template pour un site internet, jusqu'ici tout va bien, je le bricole, mais je suis coincé sur le formulaire que je n'arrive pas à faire fonctionner. Pourriez-vous m'aider svp?
J'ai d'un côté mon formulaire :  
 
<form id="contact-form" ENCTYPE="text/plain" method="post" action="traitement.php">
                    <div class="success"> Votre demande a &eacute;t&eacute; soumise <strong>Je vous contacterais sous peu.</strong></div>
                    <fieldset>
                     
                        <label class="name">
                            <input type="text" value="Nom ou Société">
                            <span class="error">*This is not a valid name.</span>
                            <span class="empty">*This field is required.</span>
                            <span class="clear"></span>
                        </label>
                     
                        <label class="Adresse">
                            <input type="text" value="Adresse">
                            <span class="error">*This is not a valid name.</span>
                            <span class="empty">*This field is required.</span>
                            <span class="clear"></span>
                        </label>
                        <label class="Cp">
                            <input type="text" value="Code postal">
                            <span class="error">*This is not a valid name.</span>
                            <span class="empty">*This field is required.</span>
                            <span class="clear"></span>
                        </label>
                         <label class="Ville">
                            <input  type="text" value="Ville">
                            <span class="error">*This is not a valid name.</span>
                            <span class="empty">*This field is required.</span>
                            <span class="clear"></span>
                        </label>
                        <label class="email">
                            <input type="text" value="E-mail">
                            <span class="error">*This is not a valid email address.</span>
                            <span class="empty">*This field is required.</span>
                            <span class="clear"></span>
                        </label>
                        <label class="phone">
                            <input type="text" value="Téléphone">
                            <span class="error">*This is not a valid phone number.</span>
                            <span class="empty">*This field is required.</span>
                            <span class="clear"></span>
                        </label>
                        <label class="message">
                            <textarea>Message</textarea>
                            <span class="error">*The message is too short.</span>
                            <span class="empty">*This field is required.</span>
                            <span class="clear"></span>
                        </label>
                        <div class="buttons"><span><a class="button" data-type="reset">EFFACER</a></span><span><a class="button" data-type="submit">ENVOYER</a></span></div>
                    </fieldset>
                </form>
 
Et de l'autre un fichier traitement.php que j'ai recopié via un autre site en essayant de l'adapter... sans succès apparemment :
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>traitement formulaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="0; URL=formulaire.html">
</head>
<?php
$Nom = $_POST['name'];
$Adresse = $_POST['Adresse'];
$Code postal = $_POST['Cp'];
$Ville = $_POST['Ville'];
$email = $_POST['email'];
$telephone = $_POST['phone'];
$message = $_POST['message'];
 
$to = 'test@gmail.com';
$objet = "Test" //Met l'objet que tu veux
 
/* En-têtes de l'e-mail */
$headers = "From: $Nom \r\n\r\n";
   
/* Envoi de l'e-mail */
mail($to, $objet, $message, $headers)
 
?>

mood
Publicité
Posté le 26-05-2014 à 17:06:11  profilanswer
 

n°2229219
OrcusZ
Pro AMD | .Net lover
Posté le 27-05-2014 à 13:16:49  profilanswer
 

Bonjour,

 

Pour commencer utilise les code cpp pour ton code ainsi il se verra comme ça

 

partie html :

Code :
  1. <form id="contact-form" ENCTYPE="text/plain" method="post" action="traitement.php">
  2.                     <div class="success"> Votre demande a &eacute;t&eacute; soumise <strong>Je vous contacterais sous peu.</strong></div>
  3.                     <fieldset>
  4.                    
  5.                         <label class="name">
  6.                             <input type="text" value="Nom ou Société">
  7.                             <span class="error">*This is not a valid name.</span>
  8.                             <span class="empty">*This field is required.</span>
  9.                             <span class="clear"></span>
  10.                         </label>
  11.                    
  12.                         <label class="Adresse">
  13.                             <input type="text" value="Adresse">
  14.                             <span class="error">*This is not a valid name.</span>
  15.                             <span class="empty">*This field is required.</span>
  16.                             <span class="clear"></span>
  17.                         </label>
  18.                         <label class="Cp">
  19.                             <input type="text" value="Code postal">
  20.                             <span class="error">*This is not a valid name.</span>
  21.                             <span class="empty">*This field is required.</span>
  22.                             <span class="clear"></span>
  23.                         </label>
  24.                          <label class="Ville">
  25.                             <input  type="text" value="Ville">
  26.                             <span class="error">*This is not a valid name.</span>
  27.                             <span class="empty">*This field is required.</span>
  28.                             <span class="clear"></span>
  29.                         </label>
  30.                         <label class="email">
  31.                             <input type="text" value="E-mail">
  32.                             <span class="error">*This is not a valid email address.</span>
  33.                             <span class="empty">*This field is required.</span>
  34.                             <span class="clear"></span>
  35.                         </label>
  36.                         <label class="phone">
  37.                             <input type="text" value="Téléphone">
  38.                             <span class="error">*This is not a valid phone number.</span>
  39.                             <span class="empty">*This field is required.</span>
  40.                             <span class="clear"></span>
  41.                         </label>
  42.                         <label class="message">
  43.                             <textarea>Message</textarea>
  44.                             <span class="error">*The message is too short.</span>
  45.                             <span class="empty">*This field is required.</span>
  46.                             <span class="clear"></span>
  47.                         </label>
  48.                         <div class="buttons"><span><a class="button" data-type="reset">EFFACER</a></span><span><a class="button" data-type="submit">ENVOYER</a></span></div>
  49.                     </fieldset>
  50.                 </form>
 

partie php :

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>traitement formulaire</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <meta http-equiv="refresh" content="0; URL=formulaire.html">
  7. </head>
  8. <?php
  9. $Nom = $_POST['name'];
  10. $Adresse = $_POST['Adresse'];
  11. $Code postal = $_POST['Cp'];
  12. $Ville = $_POST['Ville'];
  13. $email = $_POST['email'];
  14. $telephone = $_POST['phone'];
  15. $message = $_POST['message'];
  16. $to = 'test@gmail.com';
  17. $objet = "Test" //Met l'objet que tu veux
  18. /* En-têtes de l'e-mail */
  19. $headers = "From: $Nom \r\n\r\n";
  20.  
  21. /* Envoi de l'e-mail */
  22. mail($to, $objet, $message, $headers)
 

si tu as un message d'erreur fait le nous parvenir

 

Et pour dans tout tes inputs text sur as oublier le champs name=""

 

Pour que ta varible $Nom soit rempli il faut qu'un de tes input de type text ressemble à ceci

 

<input type="text" name="name" value="Name">


Message édité par OrcusZ le 27-05-2014 à 13:20:00

---------------
Made you your own sentence without believing that of the others...
n°2229223
Archablade
Posté le 27-05-2014 à 13:35:14  profilanswer
 

Salut et merci de m'avoir répondu.
 
Pour les quotes code, je n'ai pas trouvé quelles quotes utiliser en postant le message désolé. Il y a bien la balise C/C++, mais je ne savais pas si c'était cela.
 
Ensuite, j'ai déjà essayé de placer le champs name="" dans mon code, dans chaque inputs, mais ça n'a rien changé au résultat et donc je les ai enlevé avant de poster ici. Afin de conserver le code comme je l'avais à la base. Donc à priori, le problème ne viendrait pas de là. En tout cas, pas QUE de là.
 
Et Malheureusement, je n'ai aucun message d'erreur pour m'aider à résoudre le problème. Quand je remplis mon formulaire, tout va bien, quand j'appuie sur envoyer le formulaire m'affiche la phrase de confirmation, mais quand je vérifie ma boite mail, rien.
 
Vois-tu ce qui pourrais empêcher le formulaire de fonctionner et au mail de me parvenir? (le mail est bien le bon, j'ai vérifié. Je ne l'ai pas affiché dans mon message bien sur).
Peut-être le fichier de traitement qui n'est pas bon?

n°2229224
OrcusZ
Pro AMD | .Net lover
Posté le 27-05-2014 à 13:55:50  profilanswer
 

Ce sont bien les balise c/c++, faudrait qu'il change leurs noms
 
Pas que de la, car il faut bien ce name pour que tu puisse récupérer tes données coté php.
 
Ensuite tu n'as pas de message d'erreur, c'est étrange il devrait te dire que tes variables sont null car tu ne fait pas de test sur tes variables.
 
Pour être sur de bien recevoir les variables je fait toujours ce double test, c'est lourd mais je suis sur de tout le temps tout recevoir.
Je te l'écrit de manière compréhensible mais ça peut être raccourcis grace au condition ternaire.
 

Code :
  1. if(isset($_POST['name']){
  2.     $Nom = $_POST['name'];
  3. }
  4. else{
  5.    $Nom =null;
  6. }
  7. //ect.... pour toutes les variables que tu reçois de ton formulaire
  8. //ensuite tu fait ça
  9. if(!empty($Nom) /*&& !empty(...)... */ ){  // pour toutes les variable
  10.     $to = 'test@gmail.com';
  11. $objet = "Test" //Met l'objet que tu veux
  12. /* En-têtes de l'e-mail */
  13. $headers = "From: $Nom \r\n\r\n";
  14. /* Envoi de l'e-mail */
  15. mail($to, $objet, $message, $headers)
  16. }
  17. else{
  18.     echo "une erreur c'est produite dans l'envoie des données du formulaire";
  19. }


Comme ça si tu as le message d'erreur c'est qu'une de tes variables passe pas sinon c'est ta méthodes d'envoie de mail qui passe pas ( problème avec le réglage du SMTP ect... )
 
PS :  
isset vérifie si la viariable est pleine  
empty vérifie si elle est pas vide
 
ainsi if(isset()) veut dire si elle est pleine
alors que if(!empty()) veut dire si elle n'est pas vide


---------------
Made you your own sentence without believing that of the others...
n°2229248
Archablade
Posté le 27-05-2014 à 15:12:52  profilanswer
 

Bon j'ai mis en place les input name="" dans le fichier du formulaire.
 
Et j'ai aussi mis en place ton code pour tester.
 
Et... rien!
 
Le pire c'est que j'ai placé ma page de formulaire à la racine d'un site dont l'envoi de mail fonctionne. J'ai même utilisé la même adresse mail pour voir.
Mais il ne se passe rien. Je suis entrain de passer un temps fou sur ce truc et je ne comprends pas où est le problème.  
On dirait que les infos ne sont même pas envoyés à mon fichier de traitement.

n°2229251
Archablade
Posté le 27-05-2014 à 15:30:27  profilanswer
 

Désolé pour le double post mais je viens prévenir que j'ai mis le doigt sur le problème.
A la base on peut dire que c'est moi.
Puisque en parcourant le code de ma page, je me suis rendu compte que celle-ci utilisait un javascript pour envoyer le formulaire.
 
Donc je cherchais l'erreur dans la mauvaise direction, je pouvais d'ailleurs chercher longtemps.
Il suffisait en fait de remplacer une valeur "#" par mon mail, et ça marche. Rien d'autre à faire.
J'aurais aimé commencer par cela plutôt que de perdre mon temps focaliser comme j'étais sur le formulaire.
 
Alors encore désolé de t'avoir fait perdre ton temps et merci pour ton aide. Je crois que l'on peut classer l'affaire.

n°2229253
OrcusZ
Pro AMD | .Net lover
Posté le 27-05-2014 à 15:34:49  profilanswer
 

Pas de soucis, et ce n'est pas grave peut être que sens n'autres discution qui ta fait sortir le nez de ton code tu n'aurais pas encore vu l'erreur.
 
Parfois le mieux c'est d'allez faire un tour et revenir et tout s'éclaire


---------------
Made you your own sentence without believing that of the others...
n°2229254
Archablade
Posté le 27-05-2014 à 15:39:53  profilanswer
 

Oui en fait ça m'a permis de faire la démarche qui m'a mené à mon erreur. Donc merci.
Parce que logiquement avec ton code ça aurait du marcher. Or ce n'était pas le cas.
J'ai donc vérifié si ça pouvait venir de la configuration de mon hébergeur voir de ma boite mail.
Et tout ça, ça fonctionne très bien.
Je me suis donc dit que le soucis était au niveau de mon fichier contenant le formulaire puisque apparemment rien n'était envoyé vers le fichier de traitement.
 
Et là, j'ai cherché un peu plus loin dans le code de ma page pour tomber sur ce fameux script.

n°2229721
bardde
fou de l'infos
Posté le 02-06-2014 à 12:30:54  profilanswer
 

bjrs Archablade je ss content de tomber sur ce topic et de savoir que ta resolus ton probleme parce que je suis dans la meme situation et je pense meme que j'ai le meme code php que toi. j'ai essayer tous les formile possible et je n'arrivais tjts pas a trouver ou venait le blocage de traitement de ma page jusqu'a ce que je tombe sur ton topic.
serait -il possible que tu puisse m'indiquer a koi ressemble ce javascript parce que j'imagine que mon soucis viendrais de la aussi. merci d'avance Archablade

n°2231414
Archablade
Posté le 20-06-2014 à 13:53:34  profilanswer
 

Désolé je ne suis pas repassé depuis un moment.
 
Le script de ma page de contact ressemble à ça :  
 

Code :
  1. <script>
  2. $(document).ready(function(){
  3. $('#contact-form').forms({ownerEmail:'#'})
  4. })
  5. </script>


 
Dans mon cas il suffisait de remplacer le # par mon adresse mail.
Le script se trouve au début du code de la page.

mood
Publicité
Posté le 20-06-2014 à 13:53:34  profilanswer
 

n°2232009
+++Bahamut​+++
Posté le 27-06-2014 à 14:13:46  profilanswer
 

Hello,
 
j'ai également un souci de formulaire de contact sur mon site (je suis totalement noob en code quel qu'il soit).
 
Voici le code HTML de ma page.. Il doit manquer quelque chose mais je ne vois pas quoi ajouter ni comment !
 
Si je rentre cette page sur mon site et que je tente de m'envoyer un mail, ça ne marche pas, et ça me télécharge un fichier .php
 
(j'ai changé mes coordonnées pour vous montrer ce code ici bien entendu).
 
Dans ce code j'ai à un moment donné cette partie : envoimail.php (je dois donc bien avoir un fichier php à part ?)
 
 

Citation :


<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='monmail@wanadoo.fr';
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
 <head>
  <title>Titre</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <style type="text/css">
   /*
   site  
   */
 
   body
   {
    width:800px;
    margin:auto;
    margin-top:15px;
    margin-bottom:15px;  
    background-image:url("fond.jpg" );
    background-attachment:fixed;
    background-image:no-repeat;
   }
 
   /* L'en-tête */
 
   #en_tete
   {
    width:911px;
    height:108px;
    background-image:url("ban.jpg" );
    background-repeat:no-repeat;
    margin-bottom:10px;
    margin-left:10px;
    border:2px solid black;
   }
   
 
   /* Le menu */
 
   #menu
   {
    float:left;
    width:280px;
   }
 
   .element_menu
   {
    background-color:#2f2f2f;
    background-repeat:repeat-x;
    margin-left:100px;
    border:2px solid black;
     
    margin-bottom:20px;
   }
 
 
   /* Quelques effets sur les menus */
 
 
   .element_menu h4
   {  
    color:#e7e7e7;
    font-family:"Comic sans MS", "Arial Black", "Times New Roman", Times, serif;
    text-align:center;
   }
 
   .element_menu ul
   {
    padding:0px;
    padding-left:20px;
    margin:0px;
    margin-bottom:5px;
   }
 
   .element_menu a
   {
    color:#c3c3c3;
    font-family:"Comic sans MS", "Arial Black", "Times New Roman", Times, serif;
   }
 
   .element_menu a:hover
   {
    background-color:#771D8C;
    color:black;
   }
 
 
   /* Le corps de la page */
 
   #corps
   {
    margin-left:300px;
    margin-bottom:20px;
    padding:5px;
    font-weight:bold;
    color:#c3c3c3;
    background-color:#2f2f2f;
    background-repeat:no-repeat;
    border:2px solid black;
   }
 
   #corps h1
   {
    color:#000000;
    text-align:center;
    font-family:"Comic sans MS", "Arial Black", "Times New Roman", Times, serif;
   }
 
   #corps h3
   {
    height:30px;
    background-repeat:no-repeat;
    padding-left:30px;
    color:#e7e7e7;
    text-align:left;
   }
   
   a
   {
    color:#AC69BC;
   }  
   
   a:hover
   {
    background-color:#771D8C;
    color:black;
   }
 
   /* Le pied de page (qui se trouve tout en bas, en général pour les copyrights) */
 
   #pied_de_page
   {
    padding:5px;
    text-align:center;
    color:#c3c3c3;
    background-color:#2f2f2f;
    background-repeat:repeat-x;
    margin-left:100px;
    border:2px solid black;
    font-family:"Comic sans MS", "Arial Black", "Times New Roman", Times, serif;
   }
  </style>
 </head>
 <body>
  <div id="en_tete">
 
   
  </div>
 
  <div id="menu">  
   
   <div class="element_menu">
    <ul>
     <li><a href="index.html">ACCUEIL</a><br />
     </li>
    </ul>
   </div>
   
   <div class="element_menu">
    <h4>test</h4>
    <ul>
     <li><a href="page01.html">test</a></li>
     <li><a href="page2.html">test</a></li>
    </ul>
   </div>
 
   <div class="element_menu">
    <h4>Divers</h4>
    <ul>
     <li><a href="page4.html">Contact</a></li>
     <li><a href="page1.html">A propos</a></li>
   
    </ul>
   </div>  
  </div>
 
  <div id="corps">
  <div class="lebloccontenu">
  <div class="texte">
   <center>
   
   <br>
   <br>
   <big>Mon nom</big>
   <br>
   <br>
   Port. ................................. 00.00.00.00.00
   <br>
   <br>
   e-mail ......................... <a href="mailto:monmail@wanadoo.fr">monmail@wanadoo.fr</a>
   <br><br><br>
   Pour toutes demandes de devis ou de renseignements, n'hésitez pas à me contacter.
   <br>
   <br><br>      
<form id="inscription" action="envoimail.php" method="post">
    <div id="corpForm">  
      <fieldset id="vous">
   <label for="description">Pour me contacter</label>
   <p></p>
      <p><label for="contact_nom" class="oblig">Votre nom : </label>
            <input name="contact_nom" id="contact_nom" size="40" type="text">
      </p>
   <p>
      <label for="contact_email" class="oblig">Votre e-mail : </label>
            <input name="contact_email" id="contact_email" size="40" type="text">
   </p>
      </fieldset>
      <br>
      <fieldset id="description">
      <label for="description">Message</label>
      <p>  
        <textarea name="contact_message" cols="40" rows="4" id="contact_message"></textarea>  
      </p>
      </fieldset>
      <p><em></em></p>
      <p align="center"> Remplissez tous les champs svp.</p>
 <p align="center">
        <input name="valid" id="valid" value="Envoyer" type="submit">
        <input name="annuler" id="annuler" value="Effacer" type="reset">
      </p>
   
    </div>
  </form>
  </center></div>
  </div>
 
 
</div>
 
  <div id="pied_de_page">
   <p>moi même - 2014</p>
  </div>      
 </body>
</html>


 
J'ai ça comme fichier php à côté :
 

Citation :

<?php
 
$name= $_POST['contact_nom'];
$email= $_POST['contact_email'];
$message = $_POST['contact_message'];
$subject = "Message";
 
 
$youremail = "monmail@wanadoo.fr";
$ipi = getenv("REMOTE_ADDR" );
$httprefi = getenv ("HTTP_REFERER" );
$httpagenti = getenv ("HTTP_USER_AGENT" );
$date = date("d/m/y H:i:s",time());
 
 
 
mail($youremail, $subject,
"$subject >>>\n
Name : $name\n
Email : $email\n
Message : $message\n
IP : $ipi : $httpagenti :$httprefi\n
Date : $date\n",
"From:$email\r\nReply-To:$email" );
echo "<center><b>Merci pour ce mail, ,je vous répondrai sous peu.</b></center>";
 
?>


 
merci d'avance  :jap:


Message édité par +++Bahamut+++ le 27-06-2014 à 14:14:24

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Formulaire de contact + traitement

 

Sujets relatifs
[Résolu] Formulaire de contactBouton de commande/ Remplissage de formulaire
formulaire de modification[Javascool] Projet traitement d'image pour le Bac
reponse automatique formulaireMon fichier traitement.php ne fonctionne pas
Modification des données via formulaireWeb service et traitement des exceptions
Formulaire de contact 
Plus de sujets relatifs à : Formulaire de contact + traitement


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR