• Accueil
  •  » PHP/MySQL
  •  » Problème avec une validation de formulaire [à l'aide !]

#1 Problème avec une validation de formulaire [à l'aide !]

Cyrille
Novice
Lieu: Bierné
Date d'inscription: 25-08-2008
Messages: 109
Site web

Problème avec une validation de formulaire [à l'aide !]

J'ai un petit problème avec une page que je doit faire pour un copain. Je voudrais de l'aide je comprends pas !!!
voici le code :

Code:

<!-- code php à partir de là -->
<?php 
//si les variables existent, c'est à dire que le formulaire à été envoyer :
if (isset($_POST['formation']) AND isset($_POST['nom']) AND isset($_POST['prenom']) AND isset($_POST['email']))
{    //on stocke toutes les valeurs du formulaire dans des variables, plus pratique que $_POST['']
    $formation=$_POST['formation'];
    $journee=$_POST['journee'];
    $soiree=$_POST['soiree'];
    $semaine=$_POST['semaine'];
    $weekend=$_POST['weekend'];
    $vacances=$_POST['vacances'];
    $urgent=$_POST['urgent'];
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $societe=$_POST['societe'];
    $adresse=$_POST['adresse'];
    $codepostal=$_POST['codepostal'];
    $ville=$_POST['ville'];
    $tel=$_POST['tel'];
    $email=$_POST['email'];
    $nombredepersonnes=$_POST['nombredepersonnes'];
    // Si les champs obligatoires n'ont pas été remplit on indiquer ceux qui sont vide comme obligatoire
    if ($formation="0" OR $formation="" OR $nom="" OR $prenom="" OR $email="" OR $adresse="" OR $codepostal="" OR $ville="" OR $nombredepersonnes="")
    {    //on commance à afficher le formulaire
        echo'<p> recommencer</p>
        <form id="form1" name="form1" method="post" action="inscription-formations.php" enctype="multipart/form-data" >
        
            <fieldset> <legend>';
        if ($formation="0" OR $formation="") //si le champs formation n'est pas remplit on indique qu'il est obligatoire
        {
            echo'<style="color:red;">OBLIGATOIRE, veuillez choisir la formation que vous souhaitez effectuer :</style>';
        }
        else //sinon on remet le texte normal
        {
            echo'Choisissez la formation que vous souhaitez effectuer :';
        }
        //on continu d'afficher le formulaire
        echo'</legend>
                <select name="formation" value="'.$formation.'">
                    <option value="0"> - - - - - - - - - - - - - - faîtes votre choix - - - - - - - - - - - - - -  </option>
                    <option value="ips"> IPS (Initiation aux Premiers Secours)</option>           
                    <option value="PSC1"> PSC1 (Prévention et Secours Civiques de niveau 1)</option>
                    <option value="pse1"> PSE 1 ( Premiers Secours en Équipe de niveau 1)</option>
                    <option value="pse2"> PSE 2 ( Premiers Secours en Équipe de niveau 2)</option>
                    <option value="sst"> SST (Sauveteur Secouriste du Travail)</option>
                    <option value="Formation Continue pse1" > Formation continue PSE 1</option>
                    <option value="Formation Continue pse2" > Formation continue PSE 2</option>
                </select>
            </fieldset>
            
            <fieldset> <legend> Indiquez quelles sont vos préférences ou possibilités horaires : </legend>    
            
             <p>

               <label>
                 <input type="checkbox" name="journee"  />
                 en journée</label>
               <br />
               <label>
                 <input type="checkbox" name="soiree"  />
                 en soirée</label>
               <br />

               <label>
                 <input type="checkbox" name="semaine"  />
                 en semaine</label>
               <br />
               <label>
                 <input type="checkbox" name="weekend"  />
                 le week-end</label>
               <br />

               <label>
                 <input type="checkbox" name="vacances"  />
                 pendant les vacances scolaires</label>
               <br />
            </p>
            </fieldset>
        
            <fieldset> <legend>Devez-vous effectuer cette formation rapidement ? </legend>            
            <input type="checkbox" name="urgent"   /><label for="urgent" > oui, c\'est urgent </label> 
            </fieldset>

            <fieldset> <legend> Indiquez vos coordonnées : </legend>
                        <table>
                        <tr>
                      <td width="118"> <label>';
        if ($nom="")//si le champ nom est vide on l'indique comme obligatoire
        {
            echo'<style="color:red;">OBLIGATOIRE, veuillez indiquer votre nom</style>';
        }
        else
        {
            echo'Nom';
        }
        //on continu d'afficher le formulaire
        echo'</label> </td>
                    <td width="150"> <input type="text" name="nom" size="20" value="'.$nom.'" /> </td>

                        <td width="65">&nbsp;  </td>
                        
                        <td width="121"> <label>';
        if ($prenom="")//si le champ prenom est vide on l'indique comme obligatoire
        {
            echo'<style="color:red">OBLIGATOIRE, veuillez indiquer votre pr&eacute;nom</style>';
        }
        else
        {
            echo'Pr&eacute;nom';
        }
        //on continu d'afficher le formulaire
        echo'</label> </td>
                        
                        <td width="125"> <input type="text" name="prenom" size="20" value="'.$prenom.'" /> </td>
                    </tr>
                    <tr>    <td width="118"> <label> Etablissement </label> </td>

                        <td> <input type="text" name="societe" size="20" value="" /> </td>
                    <td width="65">&nbsp;  </td>
                      <td width="118"><label>';
        if ($adresse="")
        {
            echo'<style="color:red">OBLIGATOIRE, veuillez indiquer votre adresse</style>';
        }
        else
        {    
            echo'Adresse';
        }
        echo'</label> </td>
                        <td> <input type="text" name="adresse" size="20" value="'.$adresse.'" /> </td>
                    </tr>
                    <tr>
                        
                      <td width="121"> <label>';
        if ($codepostal="")
        {
            echo'<style="color:red">OBLIGATOIRE, veuillez indiquer votre code postal</style>';
        }
        else
        {
            echo'Code postal';
        }
        echo'</label> </td>
                        <td>  <input type="text" name="codepostal" size="20" value="'.$codepostal.'" /> </td>
                        <td width="65">&nbsp;  </td>

                      <td width="118"> <label>';
        if ($ville="")
        {
            echo'<style="color:red">OBLIGATOIRE, veuillez indiquer la ville</style>';
        }
        else
        {
            echo'Ville';
        }
        echo'</label> </td>
                        <td><input type="text" name="ville" size="20" value="'.$ville.'" /> </td>
                    </tr>
                    <tr>
                      <td width="118"><label> Tel  </label> </td>

                        <td> <input type="text" name="tel" size="20" value="" /> </td>
                        <td width="65"> &nbsp;  &nbsp;  &nbsp; </td>
                      <td width="121"> <label> Fax </label> </td>
                        <td><input type="text" name="fax" size="20" value="" /> </td>

                    </tr>
                    <tr>    <td width="118"> <label>';
        if ($email="")
        {
            echo'<style="color:red">OBLIGATOIRE, veuillez indiquer votre E-mail</style>';
        }
        else
        {
            echo'E-mail';
        }
        echo'</label></td>
                        <td> <input type="text" name="email" size="20" value="'.$email.'" />  </td>
                    <td width="65">&nbsp;  </td>

                      <td width="118"> <label>';
        if ($nombredepersonnes="")
        {
            echo'<style="color:red">OBLIGATOIRE, veuillez indiquer le nombre de personne participant à la formation</styles>';
        }
        else
        {
            echo'Nombre de personnes';
        }
        echo'</label> </td>
                        <td><input type="text" name="nombredepersonnes" size="20" value="'.$nombredepersonnes.'" /> </td>    
                        
                        
                        
                    </tr>
            </table> 
              </fieldset>

            <br />
            <input type="hidden" name="hidden" />
            <p class="center"><input type="submit" name="Submit" value="Envoyer le formulaire" /></p> <br />
            <p class="center"> Dès réception de cette demande, nous vous contacterons pour vous proposer des dates et des lieux où vous pourrez effectuez votre formation. </p>
           
        
        </form>'; //fin du echo
    }//fin du if
    else
    {
        echo'<p>Formulaire envoyer avec succès!</p>';
    }
}//fin de l'autre if
else
{
    echo'
        <form id="form1" name="form1" method="post" action="inscription-formations.php" enctype="multipart/form-data" >
        
            <fieldset> <legend> Choisissez la formation que vous souhaitez effectuer : </legend>
                <select name="formation">
                    <option value="0"> - - - - - - - - - - - - - - faîtes votre choix - - - - - - - - - - - - - -  </option>
                    <option value="ips"> IPS (Initiation aux Premiers Secours)</option>           
                    <option value="PSC1"> PSC1 (Prévention et Secours Civiques de niveau 1)</option>
                    <option value="pse1"> PSE 1 ( Premiers Secours en Équipe de niveau 1)</option>
                    <option value="pse2"> PSE 2 ( Premiers Secours en Équipe de niveau 2)</option>
                    <option value="sst"> SST (Sauveteur Secouriste du Travail)</option>
                    <option value="Formation Continue pse1" > Formation continue PSE 1</option>
                    <option value="Formation Continue pse2" > Formation continue PSE 2</option>
                </select>
            </fieldset>
            
            <fieldset> <legend> Indiquez quelles sont vos préférences ou possibilités horaires : </legend>    
            
             <p>

               <label>
                 <input type="checkbox" name="journee"  />
                 en journée</label>
               <br />
               <label>
                 <input type="checkbox" name="soiree"  />
                 en soirée</label>
               <br />

               <label>
                 <input type="checkbox" name="semaine"  />
                 en semaine</label>
               <br />
               <label>
                 <input type="checkbox" name="weekend"  />
                 le week-end</label>
               <br />

               <label>
                 <input type="checkbox" name="vacances"  />
                 pendant les vacances scolaires</label>
               <br />
            </p>
            </fieldset>
        
            <fieldset> <legend> Devez-vous effectuer cette formation rapidement ? </legend>            
            <input type="checkbox" name="urgent"   /><label for="urgent" > oui, c\'est urgent </label> 
            </fieldset>

            <fieldset> <legend> Indiquez vos coordonnées : </legend>
                        <table>
                        <tr>
                      <td width="118"> <label> Nom</label> </td>
                    <td width="150"> <input type="text" name="nom" size="20" value="" /> </td>

                        <td width="65">&nbsp;  </td>
                        
                        <td width="121"> <label> Pr&eacute;nom</label> </td>
                        
                        <td width="125"> <input type="text" name="prenom" size="20" value="" /> </td>
                    </tr>
                    <tr>    <td width="118"> <label> Etablissement </label> </td>

                        <td> <input type="text" name="societe" size="20" value="" /> </td>
                    <td width="65">&nbsp;  </td>
                      <td width="118"><label> Adresse </label> </td>
                        <td> <input type="text" name="adresse" size="20" value="" /> </td>
                    </tr>
                    <tr>
                        
                      <td width="121"> <label> Code postal</label> </td>
                        <td>  <input type="text" name="codepostal" size="20" value="" /> </td>
                        <td width="65">&nbsp;  </td>

                      <td width="118"> <label> Ville</label> </td>
                        <td><input type="text" name="ville" size="20" value="" /> </td>
                    </tr>
                    <tr>
                      <td width="118"><label> Tel  </label> </td>

                        <td> <input type="text" name="tel" size="20" value="" /> </td>
                        <td width="65"> &nbsp;  &nbsp;  &nbsp; </td>
                      <td width="121"> <label> Fax </label> </td>
                        <td><input type="text" name="fax" size="20" value="" /> </td>

                    </tr>
                    <tr>    <td width="118"> <label> E-mail</label></td>
                        <td> <input type="text" name="email" size="20" value="" />  </td>
                    <td width="65">&nbsp;  </td>

                      <td width="118"> <label> Nombre de personnes</label> </td>
                        <td><input type="text" name="nombredepersonnes" size="20" value="" /> </td>    
                        
                        
                        
                    </tr>
            </table> 
              </fieldset>

            <br />
            <input type="hidden" name="hidden" />
            <p class="center"><input type="submit" name="Submit" value="Envoyer le formulaire" /></p> <br />
            <p class="center"> Dès réception de cette demande, nous vous contacterons pour vous proposer des dates et des lieux où vous pourrez effectuez votre formation. </p>
           
        
        </form>'; //fin du echo 
}// fin du else
        
?>

En fait ça devrait faire une confirmation de la page. Si les champs formation, nom, prenom, adresse, ville, codepostal, email et nombredepersonnes n'ont pas été renseigné le formulaire doit rafficher en indiquant en rouge les champs vide qui sont obligatoires.

Et la quand je n'entre rien dans le formulaire ca me met formulaire envoyer -_-
Je pige pas, vu que je suis pas fort en php je demande votre aide smile


http://img213.imageshack.us/img213/4047/logoendiveh200pxyc7.th.png

Hors ligne

Posté le 22-11-2008 12:39:09

 

#2 Problème avec une validation de formulaire [à l'aide !]

DrNaBl
Administrateur
Date d'inscription: 03-10-2007
Messages: 503

Re: Problème avec une validation de formulaire [à l'aide !]

J'ai survolé rapidement le code, essai d'utiliser:

Code:

if(empty($variable))

Pour tester si la variable est vide.


Hors ligne

Posté le 22-11-2008 14:33:29

 

#3 Problème avec une validation de formulaire [à l'aide !]

Cyrille
Novice
Lieu: Bierné
Date d'inscription: 25-08-2008
Messages: 109
Site web

Re: Problème avec une validation de formulaire [à l'aide !]

Merci ça marche ^^ Alors j'ai continué. Il me reste à priori que l'adresse mail à vérifier.
Voici mon code pour ceux que ça intéresse :

Code:

<?php 
//si les variables existent, c'est à dire que le formulaire à été envoyer :
if (isset($_POST['formation']) AND isset($_POST['nom']) AND isset($_POST['prenom']) AND isset($_POST['email']))
{    //on stocke toutes les valeurs du formulaire dans des variables, plus pratique que $_POST['']
    $formation=$_POST['formation'];
    $journee=$_POST['journee'];
    $soiree=$_POST['soiree'];
    $semaine=$_POST['semaine'];
    $weekend=$_POST['weekend'];
    $vacances=$_POST['vacances'];
    $urgent=$_POST['urgent'];
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $societe=$_POST['societe'];
    $adresse=$_POST['adresse'];
    $codepostal=$_POST['codepostal'];
    $ville=$_POST['ville'];
    $tel=$_POST['tel'];
    $email=$_POST['email'];
    $fax=$_POST['fax'];
    $nombredepersonnes=$_POST['nombredepersonnes'];
    if (empty($journee)){$journee='non';}
    else{$journee='oui';}
    if (empty($soiree)){$soiree='non';}
    else{$soiree='oui';}
    if (empty($semaine)){$semaine='non';}
    else{$semainee='oui';}
    if (empty($weekend)){$weekend='non';}
    else{$weekend='oui';}
    if (empty($vacances)){$vacances='non';}
    else{$vacances='oui';}
    if (empty($urgent)){$urgent='non';}
    else{$urgent='oui';}
    // Si les champs obligatoires n'ont pas été remplit on indiquer ceux qui sont vide comme obligatoire
    if (empty($formation) OR empty($nom) OR empty($prenom) OR empty($email) OR empty($adresse) OR empty($codepostal) OR empty($ville) OR empty($nombredepersonnes))
    {    //on commance à afficher le formulaire
        echo'
        <form id="form1" name="form1" method="post" action="inscription-formations.php" enctype="multipart/form-data" >
        
            <fieldset> <legend>';
        if (empty($formation)) //si le champs formation n'est pas remplit on indique qu'il est obligatoire
        {
            echo'<label style="color:red">OBLIGATOIRE, veuillez choisir la formation que vous souhaitez effectuer :</label>';
        }
        else //sinon on remet le texte normal
        {
            echo'Choisissez la formation que vous souhaitez effectuer :';
        }
        //on continu d'afficher le formulaire
        echo'</legend>
                <select name="formation" value="'.$formation.'">
                    <option value="0"> - - - - - - - - - - - - - - faîtes votre choix - - - - - - - - - - - - - -  </option>
                    <option value="ips"> IPS (Initiation aux Premiers Secours)</option>           
                    <option value="PSC1"> PSC1 (Prévention et Secours Civiques de niveau 1)</option>
                    <option value="pse1"> PSE 1 ( Premiers Secours en Équipe de niveau 1)</option>
                    <option value="pse2"> PSE 2 ( Premiers Secours en Équipe de niveau 2)</option>
                    <option value="sst"> SST (Sauveteur Secouriste du Travail)</option>
                    <option value="Formation Continue pse1" > Formation continue PSE 1</option>
                    <option value="Formation Continue pse2" > Formation continue PSE 2</option>
                </select>
            </fieldset>
            
            <fieldset> <legend> Indiquez quelles sont vos préférences ou possibilités horaires : </legend>    
            
             <p>

               <label>
                 <input type="checkbox" name="journee"  />
                 en journée</label>
               <br />
               <label>
                 <input type="checkbox" name="soiree"  />
                 en soirée</label>
               <br />

               <label>
                 <input type="checkbox" name="semaine"  />
                 en semaine</label>
               <br />
               <label>
                 <input type="checkbox" name="weekend"  />
                 le week-end</label>
               <br />

               <label>
                 <input type="checkbox" name="vacances"  />
                 pendant les vacances scolaires</label>
               <br />
            </p>
            </fieldset>
        
            <fieldset> <legend>Devez-vous effectuer cette formation rapidement ? </legend>            
            <input type="checkbox" name="urgent"   /><label for="urgent" > oui, c\'est urgent </label> 
            </fieldset>

            <fieldset> <legend> Indiquez vos coordonnées : </legend>
                        <table>
                        <tr>
                      <td width="118">';
        if (empty($nom))//si le champ nom est vide on l'indique comme obligatoire
        {
            echo' <label style="color:red;">OBLIGATOIRE : nom</label>';
        }
        else
        {
            echo'<label>Nom</label>';
        }
        //on continu d'afficher le formulaire
        echo' </td>
                    <td width="150"> <input type="text" name="nom" size="20" value="'.$nom.'" /> </td>

                        <td width="65">&nbsp;  </td>
                        
                        <td width="121"> ';
        if (empty($prenom))//si le champ prenom est vide on l'indique comme obligatoire
        {
            echo'<label style="color:red">OBLIGATOIRE : pr&eacute;nom</label>';
        }
        else
        {
            echo'<label>Pr&eacute;nom</label>';
        }
        //on continu d'afficher le formulaire
        echo'</td>
                        
                        <td width="125"> <input type="text" name="prenom" size="20" value="'.$prenom.'" /> </td>
                    </tr>
                    <tr>    <td width="118"> <label> Etablissement </label> </td>

                        <td> <input type="text" name="societe" size="20" value="'.$societe.'" /> </td>
                    <td width="65">&nbsp;  </td>
                      <td width="118">';
        if (empty($adresse))
        {
            echo'<label style="color:red">OBLIGATOIRE : adresse</label>';
        }
        else
        {    
            echo'<label>Adresse</label>';
        }
        echo' </td>
                        <td> <input type="text" name="adresse" size="20" value="'.$adresse.'" /> </td>
                    </tr>
                    <tr>
                        
                      <td width="121">';
        if (empty($codepostal))
        {
            echo'<label style="color:red">OBLIGATOIRE : code postal</label>';
        }
        else
        {
            echo'<label>Code postal</label>';
        }
        echo' </td>
                        <td>  <input type="text" name="codepostal" size="20" value="'.$codepostal.'" /> </td>
                        <td width="65">&nbsp;  </td>

                      <td width="118">';
        if (empty($ville))
        {
            echo'<label style="color:red">OBLIGATOIRE : ville</label>';
        }
        else
        {
            echo'<label>Ville</label>';
        }
        echo'</td>
                        <td><input type="text" name="ville" size="20" value="'.$ville.'" /> </td>
                    </tr>
                    <tr>
                      <td width="118"><label> Tel  </label> </td>

                        <td> <input type="text" name="tel" size="20" value="'.$tel.'" /> </td>
                        <td width="65"> &nbsp;  &nbsp;  &nbsp; </td>
                      <td width="121"> <label> Fax </label> </td>
                        <td><input type="text" name="fax" size="20" value="'.$fax.'" /> </td>

                    </tr>
                    <tr>    <td width="118">';
        if (empty($email))
        {
            echo'<label style="color:red">OBLIGATOIRE : E-mail</label>';
        }
        else
        {
            echo'<label>E-mail</label>';
        }
        echo'</td>
                        <td> <input type="text" name="email" size="20" value="'.$email.'" />  </td>
                    <td width="65">&nbsp;  </td>

                      <td width="118"> ';
        if (empty($nombredepersonnes))
        {
            echo'<label style="color:red">OBLIGATOIRE : nombre de personne participant à la formation</label>';
        }
        else
        {
            echo'<label>Nombre de personnes</label>';
        }
        echo' </td>
                        <td><input type="text" name="nombredepersonnes" size="20" value="'.$nombredepersonnes.'" /> </td>    
                        
                        
                        
                    </tr>
            </table> 
              </fieldset>

            <br />
            <input type="hidden" name="hidden" />
            <p class="center"><input type="submit" name="Submit" value="Envoyer le formulaire" /></p> <br />
            <p class="center"> Dès réception de cette demande, nous vous contacterons pour vous proposer des dates et des lieux où vous pourrez effectuez votre formation. </p>
           
        
        </form>'; //fin du echo
    }//fin du if
    else //sinon c'est que le formulaire est corectement remplit, on l'envoie par mail
    {
        $headers ='From: "'.$prenom.$nom.'"<'.$email.'>'."\n"; //le mail vient de
        $headers .='Reply-To:'.$email.''."\n";             //réponse à
        $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; //codage
        $headers .='Content-Transfer-Encoding: 8bit';
        if ($urgent='oui')
        {
            $sujet='URGENT ! Formation '.$formation;//sujet au cas où c'est urgent
        }
        else
        {
            $sujet='Formation '.$formation; //sujet quand c'est pas urgent
        }
        //début du message
        $message ='<html><head><title>Formation '.$formation.'</title></head><body><b><u>Urgent :</u> '.$urgent.'</b><br /><br /><b><u>La personne ci-dessous : </b></u><br /><b>Nom : </b>'.$nom.'<br /><b>Prénom : </b>'.$prenom.'<br />
        <b>Souhaite une formation : </b>'.$formation.'<br /><b>Pour : </b>'.$nombredepersonnes.' personnes.<br />
        <br /><b><u>Préférences horaires :</u></b><br />Soirée : '.$soiree.'<br /> Journée : '.$journee.'<br /> Semaine : '.$semaine.'<br /> Weekend : '.$weekend.'<br /> Vacances : '.$vacances.'<br />
        <br /><b><u>Voici ses coordonnées :</u></b><br /><b>Société : </b>'.$societe.'<br /><b>Adresse :</b><br />'.$adresse.'<br />'.$codepostal.'  '.$ville.'<br /><b>Téléphone : </b>'.$tel.'<br /><b>Fax : </b>'.$fax.'<br /><b>E-mail : </b>'.$email.'</body></html>';
    
        if(mail('adpc22@localhost', $sujet, $message, $headers)) //on l'envoie mettre la bonne adresse à la place de adpc22@localhost
        {
            echo 'Votre demande a bien été envoyé. Nous vous répondrons dès que possible.'; // envoie réussi
        }
        else
        {
            echo 'Le message n\'a pu être envoyé. Recommencez ou contactez l\'administrateur.';//echec de l'envoie
        } 
    }
}//fin de l'autre if
    
else //formulaire si le visiteur n' pas encore cliqué sur envoyer
{
    echo'
        <form id="form1" name="form1" method="post" action="inscription-formations.php" enctype="multipart/form-data" >
        
            <fieldset> <legend> Choisissez la formation que vous souhaitez effectuer : </legend>
                <select name="formation">
                    <option value="0"> - - - - - - - - - - - - - - faîtes votre choix - - - - - - - - - - - - - -  </option>
                    <option value="ips"> IPS (Initiation aux Premiers Secours)</option>           
                    <option value="PSC1"> PSC1 (Prévention et Secours Civiques de niveau 1)</option>
                    <option value="pse1"> PSE 1 ( Premiers Secours en Équipe de niveau 1)</option>
                    <option value="pse2"> PSE 2 ( Premiers Secours en Équipe de niveau 2)</option>
                    <option value="sst"> SST (Sauveteur Secouriste du Travail)</option>
                    <option value="Formation Continue pse1" > Formation continue PSE 1</option>
                    <option value="Formation Continue pse2" > Formation continue PSE 2</option>
                </select>
            </fieldset>
            
            <fieldset> <legend> Indiquez quelles sont vos préférences ou possibilités horaires : </legend>    
            
             <p>

               <label>
                 <input type="checkbox" name="journee"  />
                 en journée</label>
               <br />
               <label>
                 <input type="checkbox" name="soiree"  />
                 en soirée</label>
               <br />

               <label>
                 <input type="checkbox" name="semaine"  />
                 en semaine</label>
               <br />
               <label>
                 <input type="checkbox" name="weekend"  />
                 le week-end</label>
               <br />

               <label>
                 <input type="checkbox" name="vacances"  />
                 pendant les vacances scolaires</label>
               <br />
            </p>
            </fieldset>
        
            <fieldset> <legend> Devez-vous effectuer cette formation rapidement ? </legend>            
            <input type="checkbox" name="urgent"   /><label for="urgent" > oui, c\'est urgent </label> 
            </fieldset>

            <fieldset> <legend> Indiquez vos coordonnées : </legend>
                        <table>
                        <tr>
                      <td width="118"> <label> Nom</label> </td>
                    <td width="150"> <input type="text" name="nom" size="20" value="" /> </td>

                        <td width="65">&nbsp;  </td>
                        
                        <td width="121"> <label> Pr&eacute;nom</label> </td>
                        
                        <td width="125"> <input type="text" name="prenom" size="20" value="" /> </td>
                    </tr>
                    <tr>    <td width="118"> <label> Etablissement </label> </td>

                        <td> <input type="text" name="societe" size="20" value="" /> </td>
                    <td width="65">&nbsp;  </td>
                      <td width="118"><label> Adresse </label> </td>
                        <td> <input type="text" name="adresse" size="20" value="" /> </td>
                    </tr>
                    <tr>
                        
                      <td width="121"> <label> Code postal</label> </td>
                        <td>  <input type="text" name="codepostal" size="20" value="" /> </td>
                        <td width="65">&nbsp;  </td>

                      <td width="118"> <label> Ville</label> </td>
                        <td><input type="text" name="ville" size="20" value="" /> </td>
                    </tr>
                    <tr>
                      <td width="118"><label> Tel  </label> </td>

                        <td> <input type="text" name="tel" size="20" value="" /> </td>
                        <td width="65"> &nbsp;  &nbsp;  &nbsp; </td>
                      <td width="121"> <label> Fax </label> </td>
                        <td><input type="text" name="fax" size="20" value="" /> </td>

                    </tr>
                    <tr>    <td width="118"> <label> E-mail</label></td>
                        <td> <input type="text" name="email" size="20" value="" />  </td>
                    <td width="65">&nbsp;  </td>

                      <td width="118"> <label> Nombre de personnes</label> </td>
                        <td><input type="text" name="nombredepersonnes" size="20" value="" /> </td>    
                        
                        
                        
                    </tr>
            </table> 
              </fieldset>

            <br />
            <input type="hidden" name="hidden" />
            <p class="center"><input type="submit" name="Submit" value="Envoyer le formulaire" /></p> <br />
            <p class="center"> Dès réception de cette demande, nous vous contacterons pour vous proposer des dates et des lieux où vous pourrez effectuez votre formation. </p>
           
        
        </form>'; //fin du echo 
}// fin du else
        
?>

heu si quelqu'un à une idée comment vérifier l'adresse mail ^^


http://img213.imageshack.us/img213/4047/logoendiveh200pxyc7.th.png

Hors ligne

Posté le 22-11-2008 16:18:21

 

#4 Problème avec une validation de formulaire [à l'aide !]

Cyrille
Novice
Lieu: Bierné
Date d'inscription: 25-08-2008
Messages: 109
Site web

Re: Problème avec une validation de formulaire [à l'aide !]

En fait j'ai réussi avec ce code :

Code:

function VerifierAdresseMail($adresse)
{
   $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
   if(preg_match($Syntaxe,$adresse))
      return true;
   else
     return false;
}

http://img213.imageshack.us/img213/4047/logoendiveh200pxyc7.th.png

Hors ligne

Posté le 22-11-2008 16:43:07

 

#5 Problème avec une validation de formulaire [à l'aide !]

Cyrille
Novice
Lieu: Bierné
Date d'inscription: 25-08-2008
Messages: 109
Site web

Re: Problème avec une validation de formulaire [à l'aide !]

le code contient une erreur voici le corrigé :

Code:

<?php 
//si les variables existent, c'est à dire que le formulaire à été envoyer :
if (isset($_POST['formation']) AND isset($_POST['nom']) AND isset($_POST['prenom']) AND isset($_POST['email']))
{    //on stocke toutes les valeurs du formulaire dans des variables, plus pratique que $_POST['']
    $formation=$_POST['formation'];
    $journee=$_POST['journee'];
    $soiree=$_POST['soiree'];
    $semaine=$_POST['semaine'];
    $weekend=$_POST['weekend'];
    $vacances=$_POST['vacances'];
    $urgent=$_POST['urgent'];
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $societe=$_POST['societe'];
    $adresse=$_POST['adresse'];
    $codepostal=$_POST['codepostal'];
    $ville=$_POST['ville'];
    $tel=$_POST['tel'];
    $email=$_POST['email'];
    $fax=$_POST['fax'];
    $nombredepersonnes=$_POST['nombredepersonnes'];
    if (empty($journee)){$journee='non';}
    else{$journee='oui';}
    if (empty($soiree)){$soiree='non';}
    else{$soiree='oui';}
    if (empty($semaine)){$semaine='non';}
    else{$semainee='oui';}
    if (empty($weekend)){$weekend='non';}
    else{$weekend='oui';}
    if (empty($vacances)){$vacances='non';}
    else{$vacances='oui';}
    if (empty($urgent)){$urgent='non';}
    else{$urgent='oui';}
    function VerifierAdresseMail($email)
    {
        $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
        if(preg_match($Syntaxe,$email))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    // Si les champs obligatoires n'ont pas été remplit on indiquer ceux qui sont vide comme obligatoire
    if ( VerifierAdresseMail($email)==false OR empty($formation) OR empty($nom) OR empty($prenom) OR empty($email) OR empty($adresse) OR empty($codepostal) OR empty($ville) OR empty($nombredepersonnes))
    {    //on commance à afficher le formulaire
        echo'
        <form id="form1" name="form1" method="post" action="inscription-formations.php" enctype="multipart/form-data" >
        
            <fieldset> <legend>';
        if (empty($formation)) //si le champs formation n'est pas remplit on indique qu'il est obligatoire
        {
            echo'<label style="color:red">OBLIGATOIRE, veuillez choisir la formation que vous souhaitez effectuer :</label>';
        }
        else //sinon on remet le texte normal
        {
            echo'Choisissez la formation que vous souhaitez effectuer :';
        }
        //on continu d'afficher le formulaire
        echo'</legend>
                <select name="formation" value="'.$formation.'">
                    <option value="0"> - - - - - - - - - - - - - - faîtes votre choix - - - - - - - - - - - - - -  </option>
                    <option value="ips"> IPS (Initiation aux Premiers Secours)</option>           
                    <option value="PSC1"> PSC1 (Prévention et Secours Civiques de niveau 1)</option>
                    <option value="pse1"> PSE 1 ( Premiers Secours en Équipe de niveau 1)</option>
                    <option value="pse2"> PSE 2 ( Premiers Secours en Équipe de niveau 2)</option>
                    <option value="sst"> SST (Sauveteur Secouriste du Travail)</option>
                    <option value="Formation Continue pse1" > Formation continue PSE 1</option>
                    <option value="Formation Continue pse2" > Formation continue PSE 2</option>
                </select>
            </fieldset>
            
            <fieldset> <legend> Indiquez quelles sont vos préférences ou possibilités horaires : </legend>    
            
             <p>

               <label>
                 <input type="checkbox" name="journee"  />
                 en journée</label>
               <br />
               <label>
                 <input type="checkbox" name="soiree"  />
                 en soirée</label>
               <br />

               <label>
                 <input type="checkbox" name="semaine"  />
                 en semaine</label>
               <br />
               <label>
                 <input type="checkbox" name="weekend"  />
                 le week-end</label>
               <br />

               <label>
                 <input type="checkbox" name="vacances"  />
                 pendant les vacances scolaires</label>
               <br />
            </p>
            </fieldset>
        
            <fieldset> <legend>Devez-vous effectuer cette formation rapidement ? </legend>            
            <input type="checkbox" name="urgent"   /><label for="urgent" > oui, c\'est urgent </label> 
            </fieldset>

            <fieldset> <legend> Indiquez vos coordonnées : </legend>
                        <table>
                        <tr>
                      <td width="118">';
        if (empty($nom))//si le champ nom est vide on l'indique comme obligatoire
        {
            echo' <label style="color:red;">OBLIGATOIRE : nom</label>';
        }
        else
        {
            echo'<label>Nom</label>';
        }
        //on continu d'afficher le formulaire
        echo' </td>
                    <td width="150"> <input type="text" name="nom" size="20" value="'.$nom.'" /> </td>

                        <td width="65">&nbsp;  </td>
                        
                        <td width="121"> ';
        if (empty($prenom))//si le champ prenom est vide on l'indique comme obligatoire
        {
            echo'<label style="color:red">OBLIGATOIRE : pr&eacute;nom</label>';
        }
        else
        {
            echo'<label>Pr&eacute;nom</label>';
        }
        //on continu d'afficher le formulaire
        echo'</td>
                        
                        <td width="125"> <input type="text" name="prenom" size="20" value="'.$prenom.'" /> </td>
                    </tr>
                    <tr>    <td width="118"> <label> Etablissement </label> </td>

                        <td> <input type="text" name="societe" size="20" value="'.$societe.'" /> </td>
                    <td width="65">&nbsp;  </td>
                      <td width="118">';
        if (empty($adresse))
        {
            echo'<label style="color:red">OBLIGATOIRE : adresse</label>';
        }
        else
        {    
            echo'<label>Adresse</label>';
        }
        echo' </td>
                        <td> <input type="text" name="adresse" size="20" value="'.$adresse.'" /> </td>
                    </tr>
                    <tr>
                        
                      <td width="121">';
        if (empty($codepostal))
        {
            echo'<label style="color:red">OBLIGATOIRE : code postal</label>';
        }
        else
        {
            echo'<label>Code postal</label>';
        }
        echo' </td>
                        <td>  <input type="text" name="codepostal" size="20" value="'.$codepostal.'" /> </td>
                        <td width="65">&nbsp;  </td>

                      <td width="118">';
        if (empty($ville))
        {
            echo'<label style="color:red">OBLIGATOIRE : ville</label>';
        }
        else
        {
            echo'<label>Ville</label>';
        }
        echo'</td>
                        <td><input type="text" name="ville" size="20" value="'.$ville.'" /> </td>
                    </tr>
                    <tr>
                      <td width="118"><label> Tel  </label> </td>

                        <td> <input type="text" name="tel" size="20" value="'.$tel.'" /> </td>
                        <td width="65"> &nbsp;  &nbsp;  &nbsp; </td>
                      <td width="121"> <label> Fax </label> </td>
                        <td><input type="text" name="fax" size="20" value="'.$fax.'" /> </td>

                    </tr>
                    <tr>    <td width="118">';
        if (empty($email))
        {
            echo'<label style="color:red">OBLIGATOIRE : E-mail</label>';
        }
        else
        {
            $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
            if(preg_match($Syntaxe,$email))
            {
                echo'<label>E-mail</label>';
            }
            else
            {
                echo'<label style="color:red">E-MAIL INVALIDE</label>';
            }
        }
        echo'</td>
                        <td> <input type="text" name="email" size="20" value="'.$email.'" />  </td>
                    <td width="65">&nbsp;  </td>

                      <td width="118"> ';
        if (empty($nombredepersonnes))
        {
            echo'<label style="color:red">OBLIGATOIRE : nombre de personne participant à la formation</label>';
        }
        else
        {
            echo'<label>Nombre de personnes</label>';
        }
        echo' </td>
                        <td><input type="text" name="nombredepersonnes" size="20" value="'.$nombredepersonnes.'" /> </td>    
                        
                        
                        
                    </tr>
            </table> 
              </fieldset>

            <br />
            <input type="hidden" name="hidden" />
            <p class="center"><input type="submit" name="Submit" value="Envoyer le formulaire" /></p> <br />
            <p class="center"> Dès réception de cette demande, nous vous contacterons pour vous proposer des dates et des lieux où vous pourrez effectuez votre formation. </p>
           
        
        </form>'; //fin du echo
    }//fin du if
    else //sinon c'est que le formulaire est corectement remplit, on l'envoie par mail
    {
        $headers ='From: "'.$prenom.$nom.'"<'.$email.'>'."\n"; //le mail vient de
        $headers .='Reply-To:'.$email.''."\n";             //réponse à
        $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n"; //codage
        $headers .='Content-Transfer-Encoding: 8bit';
        if ($urgent=='non')
        {
            $sujet='Formation '.$formation; //sujet quand c'est pas urgent
        }
        else
        {
            $sujet='URGENT ! Formation '.$formation;//sujet au cas où c'est urgent
        }
        //début du message
        $message ='<html><head><title>Formation '.$formation.'</title></head><body><b><u>Urgent :</u> '.$urgent.'</b><br /><br /><b><u>La personne ci-dessous : </b></u><br /><b>Nom : </b>'.$nom.'<br /><b>Prénom : </b>'.$prenom.'<br />
        <b>Souhaite une formation : </b>'.$formation.'<br /><b>Pour : </b>'.$nombredepersonnes.' personnes.<br />
        <br /><b><u>Préférences horaires :</u></b><br />Soirée : '.$soiree.'<br /> Journée : '.$journee.'<br /> Semaine : '.$semaine.'<br /> Weekend : '.$weekend.'<br /> Vacances : '.$vacances.'<br />
        <br /><b><u>Voici ses coordonnées :</u></b><br /><b>Société : </b>'.$societe.'<br /><b>Adresse :</b><br />'.$adresse.'<br />'.$codepostal.'  '.$ville.'<br /><b>Téléphone : </b>'.$tel.'<br /><b>Fax : </b>'.$fax.'<br /><b>E-mail : </b>'.$email.'</body></html>';
    
        if(mail('adpc22@localhost', $sujet, $message, $headers)) //on l'envoie mettre la bonne adresse à la place de adpc22@localhost
        {
            echo 'Votre demande a bien été envoyé. Nous vous répondrons dès que possible.'; // envoie réussi
        }
        else
        {
            echo 'Le message n\'a pu être envoyé. Recommencez ou contactez l\'administrateur.';//echec de l'envoie
        } 
    }
}//fin de l'autre if
    
else //formulaire si le visiteur n' pas encore cliqué sur envoyer
{
    echo'
        <form id="form1" name="form1" method="post" action="inscription-formations.php" enctype="multipart/form-data" >
        
            <fieldset> <legend> Choisissez la formation que vous souhaitez effectuer : </legend>
                <select name="formation">
                    <option value="0"> - - - - - - - - - - - - - - faîtes votre choix - - - - - - - - - - - - - -  </option>
                    <option value="ips"> IPS (Initiation aux Premiers Secours)</option>           
                    <option value="PSC1"> PSC1 (Prévention et Secours Civiques de niveau 1)</option>
                    <option value="pse1"> PSE 1 ( Premiers Secours en Équipe de niveau 1)</option>
                    <option value="pse2"> PSE 2 ( Premiers Secours en Équipe de niveau 2)</option>
                    <option value="sst"> SST (Sauveteur Secouriste du Travail)</option>
                    <option value="Formation Continue pse1" > Formation continue PSE 1</option>
                    <option value="Formation Continue pse2" > Formation continue PSE 2</option>
                </select>
            </fieldset>
            
            <fieldset> <legend> Indiquez quelles sont vos préférences ou possibilités horaires : </legend>    
            
             <p>

               <label>
                 <input type="checkbox" name="journee"  />
                 en journée</label>
               <br />
               <label>
                 <input type="checkbox" name="soiree"  />
                 en soirée</label>
               <br />

               <label>
                 <input type="checkbox" name="semaine"  />
                 en semaine</label>
               <br />
               <label>
                 <input type="checkbox" name="weekend"  />
                 le week-end</label>
               <br />

               <label>
                 <input type="checkbox" name="vacances"  />
                 pendant les vacances scolaires</label>
               <br />
            </p>
            </fieldset>
        
            <fieldset> <legend> Devez-vous effectuer cette formation rapidement ? </legend>            
            <input type="checkbox" name="urgent"   /><label for="urgent" > oui, c\'est urgent </label> 
            </fieldset>

            <fieldset> <legend> Indiquez vos coordonnées : </legend>
                        <table>
                        <tr>
                      <td width="118"> <label> Nom</label> </td>
                    <td width="150"> <input type="text" name="nom" size="20" value="" /> </td>

                        <td width="65">&nbsp;  </td>
                        
                        <td width="121"> <label> Pr&eacute;nom</label> </td>
                        
                        <td width="125"> <input type="text" name="prenom" size="20" value="" /> </td>
                    </tr>
                    <tr>    <td width="118"> <label> Etablissement </label> </td>

                        <td> <input type="text" name="societe" size="20" value="" /> </td>
                    <td width="65">&nbsp;  </td>
                      <td width="118"><label> Adresse </label> </td>
                        <td> <input type="text" name="adresse" size="20" value="" /> </td>
                    </tr>
                    <tr>
                        
                      <td width="121"> <label> Code postal</label> </td>
                        <td>  <input type="text" name="codepostal" size="20" value="" /> </td>
                        <td width="65">&nbsp;  </td>

                      <td width="118"> <label> Ville</label> </td>
                        <td><input type="text" name="ville" size="20" value="" /> </td>
                    </tr>
                    <tr>
                      <td width="118"><label> Tel  </label> </td>

                        <td> <input type="text" name="tel" size="20" value="" /> </td>
                        <td width="65"> &nbsp;  &nbsp;  &nbsp; </td>
                      <td width="121"> <label> Fax </label> </td>
                        <td><input type="text" name="fax" size="20" value="" /> </td>

                    </tr>
                    <tr>    <td width="118"> <label> E-mail</label></td>
                        <td> <input type="text" name="email" size="20" value="" />  </td>
                    <td width="65">&nbsp;  </td>

                      <td width="118"> <label> Nombre de personnes</label> </td>
                        <td><input type="text" name="nombredepersonnes" size="20" value="" /> </td>    
                        
                        
                        
                    </tr>
            </table> 
              </fieldset>

            <br />
            <input type="hidden" name="hidden" />
            <p class="center"><input type="submit" name="Submit" value="Envoyer le formulaire" /></p> <br />
            <p class="center"> Dès réception de cette demande, nous vous contacterons pour vous proposer des dates et des lieux où vous pourrez effectuez votre formation. </p>
           
        
        </form>'; //fin du echo 
}// fin du else
        
?>

http://img213.imageshack.us/img213/4047/logoendiveh200pxyc7.th.png

Hors ligne

Posté le 28-11-2008 20:51:58

 
  • Accueil
  •  » PHP/MySQL
  •  » Problème avec une validation de formulaire [à l'aide !]

Pied de page des forums

Propulsé par FluxBB
Traduction par fluxbb.fr