Verif champs formulaire

Résolu
Bonjour,

J'ai un formulaire de contact où l'internaute dois sélectionner sa CSP, j'aimerais savoir la façon dont je pourrais m'y prendre pour obliger le visiteur à choisir une CSP.

Merci d'avance
Configuration: Windows XP
Firefox 2.0.0.14

4 réponses

  1. Bonjour, qu'est qu'une CSP?
    1. Une CSP = Catégorie Socio Professionnelle
    2. @loute08Tu veux donc qu'une case soit cochée par défaut?
    3. @loan37nan j'ai créé une liste déroulante et le 1er option est Sélectionnez une CSP je veux donc les obliger à en sélectionner une
  2. Tu peux toujours tester la valeur de la variable correspondant à ta liste déroulante, si c'est resté à 'selectionner une CPS' alors tu affiches un message d'erreur et tu invite la personne a recommencer.
    1. j'ai essayé mais je n'y arrive pas
    2. @loan37euh je ne sais plus un truc du style

      else if (($_POST["tel"])="Selectionnez une CSP)
      {
      $mes="Veuillez choisir votre csp !";
      $err=true;
      }
  3. Tu as oublié un guillemet et le signe utilisé pour tester une égalité dans un IF est le double égal ==

    if (($_POST["tel"])=="Selectionnez une CSP")
    {
    $mes="Veuillez choisir votre csp !";
    $err=true;
    }
    1. bon j'ai changé est le problème est toujours là, il ne teste pas si la une CSP a été sélectionnée ou non...
    2. @loute08Tu peux toujours essayer de faire choisir une CSP par défaut avec la propriété selected de la liste en rajoutant selected="selected" et tu place 'veuillez choisir une CSP devant ta liste déroulante.
    3. @loan37Je viens de la faire en ajoutant selected="selected" de la façon suivante :

      <select name="csp" id ="csp">
      <option value="selection" selected="selected">Sélectionner votre CSP</option>

      Mais toujours rien on dirait qu'il ne teste pas alors que j'ai mis ça pour tester:

      else if (($_POST["csp"])=="Sélectionner votre CSP")
      {
      $mes="Veuillez choisir votre csp !";
      $err=true;
      }
    4. @loute08selected sert juste à sélectionner une option par défaut et ainsi contourner le problème... hem...

      Mais le test de la sélection du CSP tu le fait où?
    5. @loan37ben dans ma partie php avant tout le code pour le formulaire

      tiens :

      <link href="images/style.css" rel="stylesheet" type="text/css" />
      <div style="text-align: left;" class="news_text"><a href="main.php">Accueil</a> - <a href="?adr=contact3.php">Contactez-nous2</a></div>
      <?php
      $err=false;
      $mes="";
      if(isset($_POST["envoyer"]))
      {
      $mail=$_POST["mail"];
      function testmail($mail)
      {
      $err=false;
      $tab=explode("@" , $mail);
      if (count($tab)!=2)
      {
      $err=true;
      }
      return $err;
      }

      if(empty ($_POST["nom"]))
      {
      $mes="Le champs nom est vide !";
      $err=true;
      }

      else if (empty ($_POST["prenom"]))
      {
      $mes="Le champs prénom est vide !";
      $err=true;
      }
      else if (empty ($_POST["ad"]))
      {
      $mes="Le champs adresse est vide !";
      $err=true;
      }
      else if (empty ($_POST["cp"]))
      {
      $mes="Le champs code postal est vide !";
      $err=true;
      }
      else if (empty ($_POST["ville"]))
      {
      $mes="Le champs ville est vide !";
      $err=true;
      }
      else if (empty ($_POST["mail"]))
      {
      $mes="Le champs mail est vide !";
      $err=true;
      }
      else if (testmail($mail))
      {
      $mes="Le mail n'est pas valide !!! !";
      $err=true;
      }
      else if (($_POST["csp"])=="Sélectionner votre CSP")
      {
      $mes="Veuillez choisir votre csp !";
      $err=true;
      }
      else if (empty ($_POST["tel"]))
      {
      $mes="Le champs téléphone est vide !";
      $err=true;
      }

      else
      {
      $connex=mysql_connect('localhost','root','');
      $bd=mysql_select_db("contact_site",$connex);

      if ($connex==0)
      {
      echo "Echec connexion!";
      }
      else if ($bd==0)
      {
      echo "BD introuvable";
      }
      else
      {
      $nom=$_POST["nom"];
      $prenom=$_POST["prenom"];
      $ad=$_POST["ad"];
      $cp=$_POST["cp"];
      $ville=$_POST["ville"];
      $mail=$_POST["mail"];
      $tel=$_POST["tel"];
      $csp=$_POST["csp"];

      $sql="insert into abonne (nom,prenom,ad,cp,ville,mail,tel,csp) values ('".$nom."','".$prenom."','".$ad."','".$cp."','".$ville."','".$mail."','".$tel."','".$csp."')";
      $req=@mysql_query($sql,$connex)or die("erreur");
      echo "<b>Vos cordonnées ont bien été envoyées !</b>";

      }

      }

      }
      ?>

      <?php if ($err=true) echo $mes."<br>"; ?>
      FORMULAIRE DE CONTACT<br>
      <div class="mentions">Les champs avec * sont obligatoires</div>
      <form method="POST" action="?adr=contact3.php">
      <table>
      <tr><td>Nom *</td>
      <td align="left"><input type="text" name="nom" size=10 value="<?php if(isset($_POST["envoyer"])) echo $_POST["nom"];
      ?>"></td>
      </tr>
      <tr><td>Prénom *</td> <td align="left"><input type="text" name="prenom" size=10 value="<?php if(isset($_POST["envoyer"])) echo $_POST["prenom"];
      ?>"></td>
      </tr>
      <tr><td>Adresse * </td><td align="left"><input type="text" name="ad" size=10 value="<?php if(isset($_POST["envoyer"])) echo $_POST["ad"];
      ?>"></td></tr>
      <tr><td>CP * </td><td align="left"><input type="text" name="cp" maxlength="5" value="<?php if(isset($_POST["envoyer"])) echo $_POST["cp"];
      ?>"></td></tr>
      <tr><td>Ville * </td><td align="left"><input type="text" name="ville" size=10 value="<?php if(isset($_POST["envoyer"])) echo $_POST["ville"];
      ?>"></td></tr>
      <tr><td>Mail* </td><td align="left"><input type="text" name="mail" size=15 value="<?php if(isset($_POST["envoyer"])) echo $_POST["mail"];
      ?>"></td></tr>
      <tr><td>Tél. * </td><td align="left"><input type="text" name="tel" maxlength="10" value="<?php if(isset($_POST["envoyer"])) echo $_POST["tel"];
      ?>"></td></tr>
      <tr><td>Profession *</td><td align="left"><select name="csp" id ="csp">
      <option value="selection" selected="selected">Sélectionner votre CSP</option>
      <option value="agriculteurs exploitants">Agriculteurs exploitants</option>
      <option value="artisans">Artisans</option>
      <option value="Commercants et assimiles">Commerçants et assimilés</option>
      <option value="chef entreprise 10 sal ou +">Chefs d'entreprise de 10 salariés ou plus</option>
      <option value="professions liberales et assimilees">Professions libérales et assimilées</option>
      <option value="cadre fonction publique">Cadres de la fonction publique</option>
      <option value="profs, professions scientifiques">Professeurs, professions scientifiques</option>
      <option value="professions de l'info, arts, spectacles">Professions de l'information, des arts et des spectacles</option>
      <option value="cadres administratifs et commerciaux d'ent">Cadres administratifs et commerciaux d'entreprises</option>
      <option value="ingénieurs et cadres techniques d'ent">Ingénieurs et cadres techniques d'entreprises</option>
      <option value="prof des écoles, instit et professions ass">Professeurs des écoles, instituteurs et professions assimilées</option>
      <option value="professions intermédiaires de la sante et du travail social">Professions intermédiaires de la santé et du travail social</option>

      <option value="professions intermediaires administratives de la fonction publique">Professions intermédiaires administratives de la fonction publique</option>
      <option value="professions intermediaires administrativrd et commerciales des entreprises">Professions intermédiaires administratives et commerciales des entreprises</option>
      <option value="techniciens (sauf techniciens tertiaires)">Techniciens (sauf techniciens tertiaires)</option>
      <option value="contremaitres, agents de maitrise (maitrise administrative exclue)">Contremaîtres, agents de matrise (maîtrise administrative exclue)</option>
      <option value="employes civils et agents de service de la fonction publique">Employés civils et agents de service de la fonction publique</option>
      <option value="agents de surveillance (policiers etc.)">Agents de surveillance (policiers etc.)</option>
      <option value="employes administratifs d'entreprise">Employés administratifs d'entreprise</option>
      <option value="employes de commerce">Employés de commerce</option>
      <option value="personnels des services directs aux particuliers">Personnels des services directs aux particuliers</option>
      <option value="ouvriers qualifies de type industriel">Ouvriers qualifiés de type industriel</option>
      <option value="ouvriers qualifies de type artisanal">Ouvriers qualifiés de type artisanal</option>
      <option value="chauffeurs">Chauffeurs</option>
      <option value="ouvriers qualifies de la manutention, du magasinage et du transport">Ouvriers qualifiés de la manutention, du magasinage et du transport</option>
      <option value="ouvriers agricoles et assimiles">Ouvriers agricoles et assimilés</option>
      <option value="ouvrier qualifie">Ouvriers qualifiés</option>
      <option value="ouvrier non qualifie">Ouvriers non qualifiés</option>
      <option value="retraite agriculteur exploitant">Retraités agriculteurs exploitants</option>
      <option value="retraite artisan, commerc., chef d'entreprise">Retraité artisan, commercial, chef d'entreprise</option>
      <option value="retraite cadre, profession intermediaire">Retraité cadre, profession intermédiaire</option>
      <option value="retraite employe, ouvrier">Retraité employé, ouvrier</option>
      <option value="chomeur n'ayant jamais travaille">Chômeurs n'ayant jamais travaillé</option>
      <option value="personne sans activite professionnelle">Personnes sans activité professionnelle</option>
      <option value="non renseignee">Non renseignée </option>
      </select></td></tr>
      <tr><td><input type="submit" value="Envoyer" name="envoyer"></td> <td align="left"><input type="submit" name="reset" value="Effacer" /></td></tr>
      </table>
      </form>
  4. Le value qui correspond à la première ligne de la liste est selection, c'est cette valeur que tu doit tester

    else if (($_POST["csp"])=="selection")
    {
    $mes="Veuillez choisir votre csp !";
    $err=true;
    }
    1. MA-GNI-FI-QUE!!!!!

      Ca marche !!!! Je te remercie tu es mon sauveur...