Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
750 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  probleme insertion champs supplementaires formulaire php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme insertion champs supplementaires formulaire php

n°2102695
baxter74
Posté le 21-09-2011 à 16:54:05  profilanswer
 

bonjour,  
 
j'ai un formulaire d'inscription, qui insere automatiquement des champs supplémentaires (non,prenom,email) en fonction d'un nombre de places variable, mon probleme est que je n'arrive pas a récuperer l'ensemble des lignes saisies. il me prend que la premiere à chaque fois. merci par avance à ceux qui veulent bien jeter un oeil et m'aider.
 
 
ma requete :  
 
$size=sizeof('nb_champs');
   for($i=0;$i<$size;$i++){
 
 
        mysql_query("INSERT INTO noms VALUES('' ,'" . $nom_atelier. "','" . $id_atelier[$i]. "', '" . $nom[$i] . "', '" .$prenom[$i] . "','" . $email[$i] . "')" ) or die (mysql_error());
 
   }
 
le bout de script qui me permet de rajouter les champs :  
 
 
 
// 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++){
    $dynamique = 'nom_'.$i;
    $value = $_POST[$dynamique];
    echo 'Valeur du champ '.$i.' : '.$value.'<br />';
 
 
 
  }
}
 
// sinon on affiche le formulaire avec la possibilité d'ajout des champs au formulaire
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['submit']) && $_POST['submit'] == "Un champs en +" ){
     
  }
 
  // on affiche le formulaire
   
  // 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 '<INPUT TYPE="text" name="nom[]'.$i.'">';echo '<INPUT TYPE="text" name="prenom[]'.$i.'">';echo '<INPUT TYPE="text" name="email[]'.$i.'"><br />';
 
  }
 
 

mood
Publicité
Posté le 21-09-2011 à 16:54:05  profilanswer
 

n°2102965
pop-pan
yay!
Posté le 23-09-2011 à 06:21:28  profilanswer
 

juste comme ca vite fait :
 
$dynamique = 'nom_'.$i;  
je vois pas de champ defini avec un name de ce genre la  
 
 
echo '<INPUT TYPE="text" name="nom[]'.$i.'">';echo '<INPUT TYPE="text" name="prenom[]'.$i.'">';echo '<INPUT TYPE="text" name="email[]'.$i.'"><br />';  
c'est normal que les $i soient a l'exterieur des crochets?


---------------
[VDS] rail vesa, bras ecran, support TV / [ACH] des machins
n°2102995
baxter74
Posté le 23-09-2011 à 10:30:53  profilanswer
 

merci, ok je viens de voir que le script que j'avais  envoyé n'était pas le bon. mais avec celui-ci ça ne marche pas non plus car impossible de valider le formulaire, c'est comme si il lui manquait un champs ( nom ou prenom ou email) pour envoyer le formulaire.
 
mon script .
 
 
// 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++){
     
     
    $dynamique = 'nom'.$i;
     
    $value = $_POST[$dynamique];
    echo 'nom '.$i.' : '.$value.'<br />';
     
   
      $dynamique = 'prenom'.$i;
     
    $value2 = $_POST[$dynamique];
    echo 'prenom '.$i.' : '.$value.'<br />';  
   
   
   
        $dynamique = 'email'.$i;
     
    $value3 = $_POST[$dynamique];
    echo 'email '.$i.' : '.$value.'<br />';  
   
     
     
     
  }
}
 
// sinon on affiche le formulaire avec la possibilité d'ajout des champs au formulaire
else{
  // on défini le nombre initial de champs
  if (!isset($_POST['nb_champs'])){
    $_POST['nb_champs'] = 1;
  }
  // 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 '<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] :  '' , '">
   
 
  <input name="email' , $i , '" type="text" id="email' , $i , '" value="' , isset($_POST['email'.$i]) ?  $_POST['email'.$i] :  '' , '"><br/>';
 
}
 
  // on place un bouton permettant de rajouter un champs
  echo '<INPUT TYPE="submit" NAME="ajouter_champs" VALUE="Un champs en +"><br />';
  // on place un bouton permettant de soumettre le formulaire
  echo '<INPUT TYPE="submit" NAME="submit" VALUE="Envoyer">';
   
}


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  probleme insertion champs supplementaires formulaire php

 

Sujets relatifs
problème xajax JavascriptVB problème affichage
Problème de fonction avec IEprobleme d'affichage photo
Problème connection base de données en C++Problème core dumped sur pointeur de char
tout ptit problème phpprobleme impression java
[Android] Problème avec WebViewSlider plein ecran - probleme IE - besoin d'aide
Plus de sujets relatifs à : probleme insertion champs supplementaires formulaire php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR