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

  FORUM HardWare.fr
  Programmation
  PHP

  Ajout champ texte sur un formulaire

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajout champ texte sur un formulaire

n°2080607
ben07
Posté le 06-06-2011 à 11:17:46  profilanswer
 

Bonjour, voila je ne connait que peu le language PHP, et je suis en train de faire un formulaire(j'ai récupérer le plus gros en ressource .ZIP !).
 
Mais voila ce formulaire propose: Nom, Adresse e-mail et Message. Je veut ajouter un Sujet mais j'ai essayer avec mes connaissance(prendre le code de Nom et remplacer par $subject mais rien à faire)
 
Voici mes pages php.
 
index.php:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  5.         <!-- On va utiliser JQuery pour le style de notre formulaire de contact ! Donc, avec ces lignes de codes, on va "inclure" JQuery -->
  6.         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
  7.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  8.         <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
  9.         <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  10.         <!-- Fin JQuery -->
  11.         <!-- On va inclure maintenant notre fichier css -->
  12.         <link rel="stylesheet" media="screen" type="text/css" title="Design" href="main.css"/>
  13.         <!-- Fin Fichier CSS -->
  14.         <title> Formulaire de contact </title>
  15.     <script>
  16.       $(document).ready(function() {
  17.         // Ajuster le largeur de la page selon la largeur de l'écran
  18.         var width = $(window).width();
  19.             $('body').css('width', width);
  20.         // Initialiser les boutons JQuery
  21.         $(":submit, :reset" ).button();
  22.         //Initialiser l'accordion JQuery qu'on va utiliser plus tard
  23.         $('#shortcuts').accordion({collapsible: true, active: 3, clearStyle: true });
  24.         $('#shortcuts').accordion( "option", "icons", { 'header': 'ui-icon-plus', 'headerSelected': 'ui-icon-minus' });
  25.         //Initialiser la boîte de dialogue JQuery
  26.          $(document).ready(function() {
  27.                 $("#dialog" ).dialog({ autoOpen: false, hide: "fade", title: 'R&eacute;sultat de la requ&ecirc;te ...', buttons: [
  28.     {
  29.         text: "Ok",
  30.         click: function() { $(this).dialog("close" ); }
  31.     }
  32. ] });
  33.         });
  34.         // La requête Ajax qu'on va utiliser pour l'envoie de l'email
  35.         $('#emailContact').submit(function() {
  36.             $.ajax({
  37.                type: "POST",
  38.                url: "contact.php",
  39.                data: $(this).serialize(),
  40.                success: function(data){
  41.                  $("#dialog" ).dialog("open" );
  42.                  $("#dialog p" ).html(data);
  43.                  $("input:text, textarea" ).val('');
  44.                }
  45.              });
  46.         });
  47.         });
  48.     </script>
  49.     </head>
  50.     <body>
  51.         <!-- Div #content -->
  52.         <div id="content">
  53.             <h2> Formulaire de Contact </h2>
  54.                 <!-- La partie de Contact ! Il y a 3 champs de texte, le nom, le mail ET le message. Si vous êtes experts en PHP, vous pouvez ajouter d'autres champs ! -->
  55.             <div id="contactForm">
  56.                 <form action="#" onsubmit="return false;" id="emailContact" class="contact" method="post">
  57.                     <div class="field">
  58.                       <label for="name">Nom</label>
  59.                       <input type="text" name="name" id="name" value="" class="text" />
  60.                     </div>
  61.                     <div class="field">
  62.                       <label for="email">Adresse e-mail</label>
  63.                       <input type="text" name="email" id="email" value="" class="text" />
  64.                     </div>
  65.                     <div class="field">
  66.                       <label for="message">Message</label>
  67.                       <textarea class="textbox" name="message" id="message" rows="10" cols="25"></textarea>
  68.                     </div>
  69.                     <div class="buttons">
  70.                       <input type="submit" value="Envoyer" class="submit" />
  71.                       <input type="reset" value="Effacer" class="submit reset" />
  72.                     </div>
  73.                   </form>
  74.                   <!-- end #contactForm -->
  75.                   <!-- La boîte de dialogue invisible au début -->
  76.                   <div id="dialog"><p></p></div>
  77.                 </div>
  78.                 <!-- end #contact -->
  79.             </div>
  80.             <!-- end #contact -->
  81.         </div>
  82.         <!-- End #content -->
  83.     </body>
  84. </html>


et
 
contact.php

Code :
  1. <?php
  2. /** La fonction d'envoie de mail. Elle prend en paramétre, le sujet, le mail, le texte et le nom de l'utilisateur
  3. Elle fait les vérifications nécessaires sur le nom, mail, et message puis renvoie un message d'erreur en cas d'erreur sinon un message de succés **/
  4.    function contact($sujet, $mail, $texte, $nomUtilisateur)
  5.    {
  6.     if($mail == NULL OR !preg_match("#^[a-z0-9._-]+@[a-z]+.[a-z]{2,4}$#", $mail)){
  7.         $error = "<center> Attention ! <br/> Veuillez entrer une adresse e-mail valide.<br/>ex: monnom@exemple.fr</center>";
  8.         return $error;}
  9.     if($nomUtilisateur == NULL){
  10.         $error = "<center> Attention ! <br/> Vous devez entrer un nom.</center>";
  11.         return $error;}
  12.     if($texte == NULL OR strlen($texte) < 10){
  13.         $error = "<center> Attention ! <br/> Votre message doit contenir au moins dix caract&egrave;res.</center>";
  14.          return $error;}
  15.             if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // O,n filtre les serveurs qui bugs
  16.             {
  17.                     $passage_ligne = "rn";
  18.             }
  19.             else
  20.             {
  21.                     $passage_ligne = "n";
  22.             }
  23.             //=====Déclaration des messages au format texte
  24.             $message_txt = $texte;
  25.         $message_html = $texte;
  26.             //==========
  27.             //=====Création de la boundary
  28.             $boundary = "-----=".md5(rand());
  29.             //==========
  30.             //=====Définition du sujet
  31.             $sujet = (htmlspecialchars($sujet));
  32.             //=========
  33.             //=====Création du header de l'e-mail
  34.             $header = "From: "".$nomUtilisateur.""<".$mail.">".$passage_ligne;
  35.             $header.= "Reply-to: "".$nomUtilisateur.""<"".$mail."">".$passage_ligne;
  36.             $header.= "MIME-Version: 1.0".$passage_ligne;
  37.             $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary="".$boundary.""".$passage_ligne;
  38.             //==========
  39.              //=====Création du message
  40.         $message = $passage_ligne.$boundary.$passage_ligne;
  41.         //=====Ajout du message au format texte
  42.         $message.= "Content-Type: text/plain; charset="UTF-8"".$passage_ligne;
  43.         $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
  44.         $message.= $passage_ligne.$message_txt.$passage_ligne;
  45.         //==========
  46.         $message.= $passage_ligne."--".$boundary.$passage_ligne;
  47.         //=====Ajout du message au format HTML
  48.         $message.= "Content-Type: text/html; charset="UTF-8"".$passage_ligne;
  49.         $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
  50.         $message.= $passage_ligne.$message_html.$passage_ligne;
  51.         //==========
  52.         $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
  53.         //==========
  54.         //=====Ajout du message au format HTML
  55.         $message.= "Content-Type: text/html; charset="UTF-8"".$passage_ligne;
  56.         $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
  57.         $message.= $passage_ligne.$message_html.$passage_ligne;
  58.             $contact = 'myname@exemple.fr'; // Vous changez selon votre mail
  59.             //=====Envoi de l'e-mail
  60.             if(mail($contact,$sujet,$message,$header))
  61.         return $error="";
  62.         else
  63.         return $error="Une erreur est intervenue lors de l'envoi de votre message !";
  64.             //==========
  65.    }
  66. /* Si la variable existe c'est que l'utilisateur a validé l'envoie ... alors, on va passer les info à notre fonction contact et voyons le résultat */
  67. if(isset($_POST['name']))
  68. {
  69.     $result = contact("Site Perso - Formulaire de contact", $_POST['email'], $_POST['message'], $_POST['name']);
  70.     if($result != "" )
  71.         echo "<p><center><strong>Votre message n'a pas pu &ecirc;tre envoy&eacute;, il contient des erreurs : </strong></center><br/>
  72.         <strong><u><i>".$result."</i></u></strong></p>";
  73.     else
  74.         echo "<center><strong>Votre message a &eacute;t&eacute; envoy&eacute; avec succ&egrave;s !</strong></center>";
  75. }
  76. ?>


Si quelqu'un peut me dire quoi rajouter se serais super cool.
 
Très cordialement,
 
Viper07

mood
Publicité
Posté le 06-06-2011 à 11:17:46  profilanswer
 

n°2080701
Paulp
~, sweet ~
Posté le 06-06-2011 à 15:53:31  profilanswer
 

ça devrait marcher :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  5.         <!-- On va utiliser JQuery pour le style de notre formulaire de contact ! Donc, avec ces lignes de codes, on va "inclure" JQuery -->
  6.         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
  7.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  8.         <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
  9.         <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  10.         <!-- Fin JQuery -->
  11.         <!-- On va inclure maintenant notre fichier css -->
  12.         <link rel="stylesheet" media="screen" type="text/css" title="Design" href="main.css"/>
  13.         <!-- Fin Fichier CSS -->
  14.         <title> Formulaire de contact </title>
  15.     <script>
  16.       $(document).ready(function() {
  17.         // Ajuster le largeur de la page selon la largeur de l'écran
  18.         var width = $(window).width();
  19.             $('body').css('width', width);
  20.         // Initialiser les boutons JQuery
  21.         $(":submit, :reset";).button();
  22.         //Initialiser l'accordion JQuery qu'on va utiliser plus tard
  23.         $('#shortcuts').accordion({collapsible: true, active: 3, clearStyle: true });
  24.         $('#shortcuts').accordion( "option", "icons", { 'header': 'ui-icon-plus', 'headerSelected': 'ui-icon-minus' });
  25.         //Initialiser la boîte de dialogue JQuery
  26.          $(document).ready(function() {
  27.                 $("#dialog";).dialog({ autoOpen: false, hide: "fade", title: 'R&eacute;sultat de la requ&ecirc;te ...', buttons: [
  28.     {
  29.         text: "Ok",
  30.         click: function() { $(this).dialog("close";); }
  31.     }
  32. ] });
  33.         });
  34.         // La requête Ajax qu'on va utiliser pour l'envoie de l'email
  35.         $('#emailContact').submit(function() {
  36.             $.ajax({
  37.                type: "POST",
  38.                url: "contact.php",
  39.                data: $(this).serialize(),
  40.                success: function(data){
  41.                  $("#dialog";).dialog("open";);
  42.                  $("#dialog p";).html(data);
  43.                  $("input:text, textarea";).val('');
  44.                }
  45.              });
  46.         });
  47.         });
  48.     </script>
  49.     </head>
  50.     <body>
  51.         <!-- Div #content -->
  52.         <div id="content">
  53.             <h2> Formulaire de Contact </h2>
  54.                 <!-- La partie de Contact ! Il y a 3 champs de texte, le nom, le mail ET le message. Si vous êtes experts en PHP, vous pouvez ajouter d'autres champs ! -->
  55.             <div id="contactForm">
  56.                 <form action="#" onsubmit="return false;" id="emailContact" class="contact" method="post">
  57.                     <div class="field">
  58.                       <label for="name">Nom</label>
  59.                       <input type="text" name="name" id="name" value="" class="text" />
  60.                     </div>
  61.                     <div class="field">
  62.                       <label for="email">Adresse e-mail</label>
  63.                       <input type="text" name="email" id="email" value="" class="text" />
  64.                     </div>
  65.                     <div class="field">
  66.                       <label for="name">Sujet</label>
  67.                       <input type="text" name="subject" id="subject" value="" class="text" />
  68.                     </div>
  69.                     <div class="field">
  70.                       <label for="message">Message</label>
  71.                       <textarea class="textbox" name="message" id="message" rows="10" cols="25"></textarea>
  72.                     </div>
  73.                     <div class="buttons">
  74.                       <input type="submit" value="Envoyer" class="submit" />
  75.                       <input type="reset" value="Effacer" class="submit reset" />
  76.                     </div>
  77.                   </form>
  78.                   <!-- end #contactForm -->
  79.                   <!-- La boîte de dialogue invisible au début -->
  80.                   <div id="dialog"><p></p></div>
  81.                 </div>
  82.                 <!-- end #contact -->
  83.             </div>
  84.             <!-- end #contact -->
  85.         </div>
  86.         <!-- End #content -->
  87.     </body>
  88. </html>


et
 
contact.php

Code :
  1. <?php
  2. /** La fonction d'envoie de mail. Elle prend en paramétre, le sujet, le mail, le texte et le nom de l'utilisateur
  3. Elle fait les vérifications nécessaires sur le nom, mail, et message puis renvoie un message d'erreur en cas d'erreur sinon un message de succés **/
  4.    function contact($sujet, $mail, $texte, $nomUtilisateur)
  5.    {
  6.     if($mail == NULL OR !preg_match("#^[a-z0-9._-]+@[a-z]+.[a-z]{2,4}$#", $mail)){
  7.         $error = "<center> Attention ! <br/> Veuillez entrer une adresse e-mail valide.<br/>ex: monnom@exemple.fr</center>";
  8.         return $error;}
  9.     if($nomUtilisateur == NULL){
  10.         $error = "<center> Attention ! <br/> Vous devez entrer un nom.</center>";
  11.         return $error;}
  12.     if($texte == NULL OR strlen($texte) < 10){
  13.         $error = "<center> Attention ! <br/> Votre message doit contenir au moins dix caract&egrave;res.</center>";
  14.          return $error;}
  15.             if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // O,n filtre les serveurs qui bugs
  16.             {
  17.                     $passage_ligne = "rn";
  18.             }
  19.             else
  20.             {
  21.                     $passage_ligne = "n";
  22.             }
  23.             //=====Déclaration des messages au format texte
  24.             $message_txt = $texte;
  25.         $message_html = $texte;
  26.             //==========
  27.             //=====Création de la boundary
  28.             $boundary = "-----=".md5(rand());
  29.             //==========
  30.             //=====Définition du sujet
  31.             $sujet = (htmlspecialchars($sujet));
  32.             //=========
  33.             //=====Création du header de l'e-mail
  34.             $header = "From: "".$nomUtilisateur.""<".$mail.">".$passage_ligne;
  35.             $header.= "Reply-to: "".$nomUtilisateur.""<"".$mail."">".$passage_ligne;
  36.             $header.= "MIME-Version: 1.0".$passage_ligne;
  37.             $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary="".$boundary.""".$passage_ligne;
  38.             //==========
  39.              //=====Création du message
  40.         $message = $passage_ligne.$boundary.$passage_ligne;
  41.         //=====Ajout du message au format texte
  42.         $message.= "Content-Type: text/plain; charset="UTF-8"".$passage_ligne;
  43.         $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
  44.         $message.= $passage_ligne.$message_txt.$passage_ligne;
  45.         //==========
  46.         $message.= $passage_ligne."--".$boundary.$passage_ligne;
  47.         //=====Ajout du message au format HTML
  48.         $message.= "Content-Type: text/html; charset="UTF-8"".$passage_ligne;
  49.         $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
  50.         $message.= $passage_ligne.$message_html.$passage_ligne;
  51.         //==========
  52.         $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
  53.         //==========
  54.         //=====Ajout du message au format HTML
  55.         $message.= "Content-Type: text/html; charset="UTF-8"".$passage_ligne;
  56.         $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
  57.         $message.= $passage_ligne.$message_html.$passage_ligne;
  58.             $contact = 'myname@exemple.fr'; // Vous changez selon votre mail
  59.             //=====Envoi de l'e-mail
  60.             if(mail($contact,$sujet,$message,$header))
  61.         return $error="";
  62.         else
  63.         return $error="Une erreur est intervenue lors de l'envoi de votre message !";
  64.             //==========
  65.    }
  66. /* Si la variable existe c'est que l'utilisateur a validé l'envoie ... alors, on va passer les info à notre fonction contact et voyons le résultat */
  67. if(isset($_POST['name']))
  68. {
  69.     $result = contact($_POST['subject'], $_POST['email'], $_POST['message'], $_POST['name']);
  70.     if($result != "";)
  71.         echo "<p><center><strong>Votre message n'a pas pu &ecirc;tre envoy&eacute;, il contient des erreurs : </strong></center><br/>
  72.         <strong><u><i>".$result."</i></u></strong></p>";
  73.     else
  74.         echo "<center><strong>Votre message a &eacute;t&eacute; envoy&eacute; avec succ&egrave;s !</strong></center>";
  75. }
  76. ?>

n°2080941
ben07
Posté le 07-06-2011 à 11:23:48  profilanswer
 

Non cela ne marche pas désolé

n°2080949
Paulp
~, sweet ~
Posté le 07-06-2011 à 11:34:30  profilanswer
 

http://forum.hardware.fr/hfr/Progr [...] 0261_1.htm
 
Quels sont les symptômes ?
Dire que ça ne marche pas n'aide pas à résoudre le problème.

n°2081163
ben07
Posté le 07-06-2011 à 21:11:19  profilanswer
 

Désolé mais je n'avais pas trop le temps au moment où j'ai poster :(
 
Enfaite je clique sur Envoyer mais aucune réaction, j'ai mis le code en ligne: http://ben.du.07.free.fr/form3/

n°2081185
ben07
Posté le 07-06-2011 à 23:49:28  profilanswer
 

J'ai résolu mon problème :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Ajout champ texte sur un formulaire

 

Sujets relatifs
Validation formulaire impossibleformulaire d'enregistrement et récupération de données
[Résolu] [Oracle] Concatener champ date et champ time pour filtrerFormulaire PHP avec test champs vides
PHP - Formulaire problème valueprobleme editeur de texte "setTextFormat"
Formulaire vers une même page sans bouton "Submit"SQL : concaténer champ et enlever espace UPDATE
remplacer un texte dans un lien dans la bdd 
Plus de sujets relatifs à : Ajout champ texte sur un formulaire


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