Page 1 sur 1

problème champs de saisie vide !

Posté : 28 déc. 2011, 16:34
par baxterbax74
bonjour,
j'ai un formulaire de reservation , à l'origine il y a deux champs mais l'utilisateur à la possibilité de rajouter des champs supplémentaires ( nom et prénom ) selon si il veut inscrire d'autre membres de sa famille en même temps que lui. le hic c'est que si il rajoute plusieurs champs et qu'ils restent vides je me retrouve avec des lignes vides dans ma table et donc des places reservées en trop.


si quelqu'un peut m'aider. par avance merci

un extrait du code.


	if ( $captchacrypte == md5($_POST['captcha']) AND !empty($_POST['captcha'])&&($_POST['email'])&&($_POST['nom'])&&($_POST['atelier']) ) 



{
   
   $nom=$_POST['nom'.$i];
   $prenom=$_POST['prenom'.$i];
   $email=$_POST['email'];
   $nom_atelier=$_POST['atelier'];
   $atelier=$_POST['atelier'];
   $dates=$_POST['dates'];
   $details=$_POST['details'];

  $size=sizeof($nom);
   for($i=0;$i<$size;$i++){


        mysql_query("INSERT INTO noms VALUES('' ,'" . $nom_atelier. "','" . $atelier. "', '" . $nom[$i] . "', '" .$prenom[$i] . "','" . $email . "')" ) or die (mysql_error());

   }

header('Location: resultat.php?inscription=ok');
 }

 

[/php]

Re: problème champs de saisie vide !

Posté : 28 déc. 2011, 18:42
par Calimero
Bonjour,

En gros il te suffit, en début de boucle, de vérifier si les champs contiennent quelquechose d'intéressant, et de sauter la requête d'insertion si ce n'est pas le cas... non ? :)

Re: problème champs de saisie vide !

Posté : 28 déc. 2011, 18:58
par baxterbax74
merci pour ta réponse , mais j'ai peur d'être un peu dépassé en php et de ne pas savoir comment faire.
mais mon problème est que quand je valide le formulaire celui s'exécute quand même si je rajoute un ou des champs supplémentaires vides.


Pour generer des champs supplémentaires j'ai inséré du code html dans mon formulaire php.



<p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><span
class="bloc"><font size="3"><strong>Pour vous inscrire à cet atelier, merci d'indiquer le nom et pr&eacute;nom de chaque participant ainsi qu'une seule adresse email :
</strong></font> </span><br>
</font> </p>
<table width="550
" height="325"
border="0" align="center" cellpadding="0" cellspacing="0"
style="text-align: left; margin-left: auto; margin-right: ; height: 550
px; width: 550

px;">
<tbody>
<tr>
  <td width="31"></td>
<td width="28"></td>
<td width="38" style="text-align: center;"></td>
<td width="149" style="text-align: center;"></td>
<td width="110" style="text-align: center;"></td>
</tr>
<tr valign="middle">
  <td height="42" colspan="5" align="center" style="vertical-align: center;"><span style="vertical-align: top;">


Nom*  <input name="nom[]" type="text" size="30" maxlength="30">  Prénom    <input name="prenom[]" type="text" size="30" maxlength="30">

<br>
<br>
<br>
  <input value="Autre(s) participant(s)" onClick="Ajouter()"
 type="button">
<p><br>
</p>
<div id="saisies">


<script> var nlignes = 0; 


function Ajouter() 

{ nlignes++;
 if (nlignes <=  <?php echo $nb_de_places_restantes; ?>) { 

saisies.insertAdjacentHTML('BeforeEnd','<BR>Nom*/prénom <input type=text size=20 name=nom[]> <input type=text name=prenom[]> '); 

} }; 


</script>