IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

// si l'utilisateur soumet le formulaire on affiche la valeur de tous les champs du formulaire


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut // si l'utilisateur soumet le formulaire on affiche la valeur de tous les champs du formulaire
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $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 sert à ajouter les champs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    // 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 />';
     
    		}

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    d'après la documentation PHP concernant sizeof:
    Compte tous les éléments d'un tableau ou quelque chose d'un objet.
    Si tu regardes le retour de ton sizeof('nb_champs') tu remarqueras qu'il est toujours à 1, ce qui est normal vu ce qu'il fait.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    merci, mais j'avoue à force de retourner le truc dans tous les sens ne plus trop comprendre ce que je dois faire. bref si tu peux m'indiquer la marche à suivre pour que cela fonctionne. merci d'avance

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    pour parcourir un array utilise foreach pas for

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    merci, je vais tester ma requete avec foreach :

    mais est-ce la bonne solution ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      foreach($_POST['nb_champs'] as $valeur) 
       {
     
     
            mysql_query("INSERT INTO noms VALUES('' ,'" . $nom_atelier. "','" . $id_atelier[$i]. "', '" . $nom[$i] . "', '" .$prenom[$i] . "','" . $email[$i] . "')" ) or die (mysql_error());
     
       }

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu tests même pas ton code ...

    $valeurs n'est pas utiliser,
    tu ne protèges pas tes champs
    t'utilises or die pour debugger


    je te conseil d'apprendre les bases avant te lancer dans un projet

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    pour tout dire je me suis lancé dans le php sans avoir reçu de formation en avant. et je galere un max c'est vrai, je comprend pas forcément tous ce que je fais et je dois cependant terminer ce formulaire d'inscription pour mon job rapidement.

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/11/2013, 21h36
  2. comment verifier que l'utilisateur a renseigner tous les champ obligatoir d'un formulaire ?
    Par belaggoun2000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 22/11/2010, 16h14
  3. Vérifier que tous les champs du formulaire soient bien remplis
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 25/08/2007, 11h59
  4. mon champs de formulaire n'affiche pas tout
    Par egelitros dans le forum Langage
    Réponses: 2
    Dernier message: 06/05/2007, 11h03
  5. afficher tous les champs d'une table
    Par julio84 dans le forum ASP
    Réponses: 8
    Dernier message: 19/01/2005, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo