probleme d'insertion champs formulaire php
Posté : 30 sept. 2011, 15:44
Bonjour,
sur mon formulaire d'inscription à des ateliers , je ne comprends pas pourquoi quand je saisie une ligne (nom,prenom) il me enregistre deux lignes au lieu d'une dans ma table, donc il m'hote deux places disponibles à chaque fois.
l'une est bien remplie correctement avec le nom et prenom, et l'autre ligne reste vide . avez vous une idée ? merci par avance à ceux qui veulent bien jetter un oeil et m'aider à corriger.
je précise que je me suis aidé d'un script existant pour afficher automatiquement le nombre de champs à remplir selon les places restantes à l'activité.
ma requete :
sur mon formulaire d'inscription à des ateliers , je ne comprends pas pourquoi quand je saisie une ligne (nom,prenom) il me enregistre deux lignes au lieu d'une dans ma table, donc il m'hote deux places disponibles à chaque fois.
l'une est bien remplie correctement avec le nom et prenom, et l'autre ligne reste vide . avez vous une idée ? merci par avance à ceux qui veulent bien jetter un oeil et m'aider à corriger.
je précise que je me suis aidé d'un script existant pour afficher automatiquement le nombre de champs à remplir selon les places restantes à l'activité.
ma requete :
Code : Tout sélectionner
if ( $captchacrypte == md5($_POST['captcha']) AND !empty($_POST['captcha'])&&($_POST['nom'])&&($_POST['prenom'])&&
($_POST['email'])&&($_POST['atelier']) )
{
$atelier=$_POST['atelier'];
$nom=$_POST['nom'.$i];
$prenom=$_POST['prenom'.$i];
$email=$_POST['email'];
$size=sizeof($nb_champs);
for($i=0;$i<=$size;$i++){
mysql_query("INSERT INTO noms VALUES('' ,'" . $nom_atelier. "','" . $id_atelier. "', '" . $nom[$i] . "', '" .$prenom[$i] . "','" . $email . "')" ) or die (mysql_error());
}
header('Location: resultat.php?inscription=ok');
}
if($ok=='ok') {
echo '<font color="#FF0000"><font size="5">Votre inscription a bien été prise en compte ! Merci.</font>';
}
else { if($ok!='ok') echo '<font color="#FF0000"><font size="4">Vous devez indiquer vos coordonnées dans les champs à remplir.</font color"></font>';}
if ( !empty($_POST['captcha']) ) {
echo "\t\t\t<B style=\"color : #ff0000;\">Le code saisi est incorrect</b><br />\n";}
Code : Tout sélectionner
// si l'utilisateur soumet le formulaire on affiche la valeur de tous les champs du formulaire
if (isset($_POST['submit']) && $_POST['submit'] == "Envoyer"){
// on affiche le nombre de champs du formulaire
echo 'Nombre de champs : '.$_POST['nb_champs'].'<br />';
// on affiche la valeur des champs du formulaire
for ($i=1; $i<=$_POST['nb_champs']; $i++){
$nom = 'nom'.$i;
$value = $_POST[$nom];
$prenom= 'prenom'.$i;
$value = $_POST[$prenom];
echo 'nom'.$i.' : '.$value.''; echo 'prenom'.$i.' : '.$value.'' ; echo 'email'.$i.' : '.$value.'<br />';
}
else{
// on défini le nombre initial de champs
if (!isset($_POST['nb_champs'])){
$_POST['nb_champs'] = $nb_de_places_restantes;
}
// si la personne clic sur "un champs en +", on ajoute un champs
if (isset($_POST['ajouter_champs']) && $_POST['ajouter_champs'] == "Un champs en +"){
$_POST['nb_champs']++;
}
// on affiche le formulaire
echo '<FORM METHOD="post">';
// on place un champ caché contenant un entier ayant comme valeur le nombre de champs du formulaire
echo '<INPUT TYPE="hidden" NAME="nb_champs" VALUE="'.$_POST['nb_champs'].'">';
// on affiche tous les champs du formulaire
for ($i=1; $i<=$_POST['nb_champs']; $i++){
echo ' Nom*/prénom <input name="nom[]' , $i , '" type="text" id="nom' , $i , '" value="' , isset($_POST['nom'.$i]) ? $_POST['nom'.$i] : '' , '">
<input name="prenom[]' , $i , '" type="text" id="prenom' , $i , '" value="' , isset($_POST['prenom'.$i]) ? $_POST['prenom'.$i] : '' , '"><br/>';
}
}
?>