Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pb formulaire

help !

Sujet résolu
    20 mars 2011 à 21:27:25

    Bonjour à tous les zéros :p ! Aujourd'hui, j'ai un pb et je ne trouve pas la vrai solution, J'ai cré un formulaire de demande de travaux et je souhaiterai que les champs soit "facultatifs" ou "obligatoires", là question est donc ici,

    comment faire pour rendre des champs facultatifs ou obligatoire :o ?


    *Je vous demande de l'aide car j'ai encore un peu de mal a faire du javascript ^^ !

    Voici mon formulaire:

    <!-- Page "Formulaire extension" -->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
         <title>Contact</title>
           <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	   <meta http-equiv="Page-Enter" content="blendTrans(duration=1.0)" />   
    	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="mailextension.css" /> 
    	   <script type="text/javascript">
    window.onload = function() {MakeFluffHappen()}
    function MakeFluffHappen() {
    FluffyKittenMaker(0);
    Conflaburator(0);
    }
    function FluffyKittenMaker(SomeNumberThing) {
    document.body.style.opacity = SomeNumberThing/100;
    }
    function Conflaburator(SomeNumberThing) {
    if (SomeNumberThing <= 100) {
    FluffyKittenMaker(SomeNumberThing);
    SomeNumberThing += 10;
    window.setTimeout("Conflaburator("+SomeNumberThing+")", 100);
    }
    }
    
           </script> 
    	   <script type="text/javascript" src="js/jquery.js"></script>
           <script type="text/javascript" src="js/fadeLinks.js"></script>
       </head>
       <body>
             <h2>Contact</h2>   
            <br>
            <br>
    		<br>
             <form method="post" action="traitement.php" enctype="multipart/form-data">
    		 <fieldset>
    		 <legend>Vos coordonnées</legend>
    		   <label for="nom">Votre nom :</label>
               <input type="text" name="nom" id="nom" size="30" />
    		   <br>
    		   <br>
    		   <label for="prénom">Votre prénom :</label>
               <input type="text" name="prénom" id="prénom" size="30" />
    		   <br>
    		   <br>
    		   <label for="adresse1">Votre adresse :</label>
               <input type="text" name="adresse1" id="adresse1" size="30" />
    		   <br>
    		   <br>
    		   <label for="adresse2">Votre autre adresse :</label>
               <input type="text" name="adresse2" id="adresse2" size="30" />
    		   <br>
    		   <br>
    		   <label for="codepostal">Votre code postal :</label>
               <input type="text" name="codepostal" id="codepostal" size="30" />
    		   <br>
    		   <br>
    		   <label for="ville">Votre ville :</label>
               <input type="text" name="ville" id="ville" size="30" />
    		   <br>
    		   <br>
    		   <label for="téléphonefixe">Votre téléphone fixe :</label>
               <input type="text" name="téléphonefixe" id="téléphonefixe" size="30" />
    		   <br>
    		   <br>
    		   <label for="téléphoneportable">Votre téléphone portable :</label>
               <input type="text" name="téléphoneportable" id="téléphoneportable" size="30" />
    		   <br>
    		   <br>
    		   <label for="adresseemail">Votre adresse Email :</label>
               <input type="text" name="adresseemail" id="adresseemail" size="30" />
    		 </fieldset>
    		 
    		 <fieldset>
    		 <legend>Votre demande</legend>
    		   <label for="demande">Décrivez votre demande :</label><br />
               <textarea name="demande" id="demande" rows="30" cols="150"></textarea>
    		 </fieldset>
    		 
    		 <fieldset>
    		 <legend>Informations complémentaires</legend>
    		   <br>
    		   <br>
    		   <label for="IC">Quel est votre budjet pour ce chantier ?</label>
    		   <input type="text" name="IC" id="IC" size="30" />
    		   <br>
    		   <br>
    		   <label for="surface">Surface allouée à votre projet (en m²)</label>
    		   <input type="text" name="surface" id="surface" size="30" />
    		 </fieldset>
    		   
    		 <fieldset>
    		 <legend>Vos fichiers et dossier joints</legend>
    		   <label for="upload">Parcourir vos fichiers </label>
    		   <input type="file" name="upload" id="upload" size="30" />
             </fieldset>
    
             <fieldset>
             <legend>Envoyer</legend>
               <label for="envoi">Envoyer</label>
               <input type="submit" name="envoi" id="envoi" size="30" />
               <br>
               <br>
               <label for="reset">Effacer</label>
               <input type="reset" name="reset" id="reset" size="30" />
             </fieldset>		   
    		 </form>
    	</body>
    </html>
    


    <?php
    //Lecture des données du formulaire
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $adresse1 = $_POST['adresse1'];
    $adresse2 = $_POST['adresse2'];
    $codepostal = $_POST['codepostal'];
    $ville = $_POST['ville'];
    $téléphonefixe = $_POST['téléphoneportable'];
    $adresseemail = $_POST['adresseemail'];
    $demande = $_POST['demande'];
    $IC = $_POST['IC'];
    $surface = $_POST['surface'];
    $lieu = $_POST['lieu'];
    $upload = $_POST['upload'];
    //Lecture des données du formulaire
    //Message type
    $message_text = 
    'Expéditeur :'.$nom.','.$prénom.'
    Destinatire: Christophe nogry
    
    Détail expéditeur:
    -Adresse: '.$adresse1.','.$codepostal.','.$ville.'ou '.$adresse2.','.$codepostal.','.$ville.'
    -Téléphone: '.$téléphonefixe.', et '.$téléphoneportable.'
    -Adresse Email: '.$adresseemail.'
    
    Demande:
    - '.$demande.'
    
    Informations complémentaires:
    -Budjet: '.$IC.'
    -Surface: '.$surface.'
    -Lieu: '.$lieu.'
    
    Fichiers joints:
    - '.$upload.'
    '; 
    $message_html =  '<html><head></head><body>Expéditeur :'.$nom.','.$prénom.'<br>
    Destinatire: Christophe nogry<br>
    <br>
    Détail expéditeur:<br>
    -Adresse: '.$adresse1.','.$codepostal.','.$ville.'ou '.$adresse2.','.$codepostal.','.$ville.'<br>
    -Téléphone: '.$téléphonefixe.', et '.$téléphoneportable.'<br>
    -Adresse Email: '.$adresseemail.'<br>
    <br>
    Demande:<br>
    - '.$demande.'<br>
    <br>
    Informations complémentaires:<br>
    -Budjet: '.$IC.'<br>
    -Surface: '.$surface.'<br>
    -Lieu: '.$lieu.'<br>
    <br>
    Fichiers joints:<br>
    - '.$upload.'</body></html>';
    //Message type
    //Envoi
    $mail = 'petiteau.pierre@gmail.com'; // Déclaration de l'adresse de destination.
    if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn|gmail|wanadoo).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
    {
    	$passage_ligne = "\r\n";
    }
    else
    {
    	$passage_ligne = "\n";
    }
     
    //=====Création de la boundary
    $boundary = "-----=".md5(rand());
    //==========
     
    //=====Définition du sujet.
    $sujet = "Demande de travaux #extension#";
    //=========
     
    //=====Création du header de l'e-mail.
    $header = "From: \"$adresseemail\"<$adresseemail>".$passage_ligne;
    $header.= "Reply-to: \"$adresseemail\" <$adresseemail>".$passage_ligne;
    $header.= "MIME-Version: 1.0".$passage_ligne;
    $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
    //==========
     
    //=====Création du message.
    $message = $passage_ligne.$boundary.$passage_ligne;
    //=====Ajout du message au format texte.
    $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
    $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
    $message.= $passage_ligne.$message_txt.$passage_ligne;
    //==========
    $message.= $passage_ligne."--".$boundary.$passage_ligne;
    //=====Ajout du message au format HTML
    $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
    $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
    $message.= $passage_ligne.$message_html.$passage_ligne;
    //==========
    $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
    $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
    //==========
    ?>
    
    <?php
    //=====Envoi de l'e-mail
    mail($mail,$sujet,$message,$header,$upload);
    //==========
    //Envoi
    ?>
    
    • Partager sur Facebook
    • Partager sur Twitter
      20 mars 2011 à 21:53:08

      Côté PHP faut utiliser les fonctions isset() et empty().

      Tu as des variables PHP avec des accents : ce n'est pas autorisé !
      • Partager sur Facebook
      • Partager sur Twitter
        21 mars 2011 à 10:29:08

        Euh :euh:, Y aurait il moyen que tu détaille tes fonctions STP ^^ ? Sinon, oui merci ! :) C'est sympa de m'avoir fait remarqué mon erreur avec les accents ;) !
        • Partager sur Facebook
        • Partager sur Twitter
          21 mars 2011 à 10:45:09

          Kikou

          Alors voila :
          if (empty($_POST['nom'])|| empty($_POST['sujet'])|| empty($_POST['mail'])|| empty($_POST['message']))
          //si les champs ne sont pas remplis
          $error=1;

          Traduction tu vérifie QUE les champs obligatoire ici, c'est a dire le nom le sujet du mail, le mail du mec, et le message sont remplis genre si t'as un $POST_['prenom'] et que tu te fou de savoir si il a mis sont prenom benh tu le rajoute pas ds les empty.

          Empty te permet de vérifier si le champ a été remplis MAIS on ne verifie pas ce qui est ds les champs!!

          J'espere avoir pu t'aider.

          • Partager sur Facebook
          • Partager sur Twitter
            21 mars 2011 à 11:18:35

            Merci, oui bien sûr ca m'a aidé, seulement j'aimerai également avoir des détail sur la fonction ()isset ^^
            • Partager sur Facebook
            • Partager sur Twitter
              21 mars 2011 à 11:25:18

              isset c'est si une variable existe en gros si elle est créée dans le cas d'un formulaire généralement les variable sont créée si il y a eu interaction avec le formulaire non ? ^^

              genre
              if isset($_POST['nom'])
              { echo $nom;}

              isset= IS SET c'est juste de l'anglais ^^
              • Partager sur Facebook
              • Partager sur Twitter
                21 mars 2011 à 11:37:20

                Okai bah je testerai ca ce soir ! Et je vous tiens au courant ! ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  21 mars 2011 à 11:39:30

                  juste il me semble que ça doit aller ds la partie php nn ? et pas javascript ^^

                  en tout cas jsuis contente c'est la première fois que mes maigres compétences arrivent a aider qqun ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 mars 2011 à 11:46:34

                    Sans vouloir te vexer, je n'ai pas vraiment un niveau exeptionnel non plus me oui tu ma aidé, et oui ca devrait aller dans PHP ^^ ! Mais moi je pensai kil faudrai du javascript :o , au final , ca m'arrange :-°^^ !
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Pb formulaire

                    × 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