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

HTML Discussion :

Syntaxe sur formulaire multiple


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 141
    Par défaut Syntaxe sur formulaire multiple
    Bonjour à tous,

    j'ai une boucle PHP qui génère un même formulaire plusieurs fois (autant de fois que j'ai de personnes inscrites à un voyage).
    Pour le nom par exemple la ligne créée est celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" ... name="nom[]" />
    Donc si j'ai 10 fois nom[] je récupère bien tout ce qu'il faut par la suite en php avec nom[0], nom[1], etc.

    Or j'ai un soucis avec la civilité
    voici ce que je génère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="radio" name="civ_'.$acc.'[]" value="m" /> M 
    <input type="radio" name="civ_'.$acc.'[]" value="mme" /> Mme 
    <input type="radio" name="civ_'.$acc.'[]" value="melle" /> Mlle
    où $acc est une variable qui s'incrémente.

    Le soucis c'est qu'en PHP je récupère des choses bizarres et je ne sais pas vraiment ce qui a été sélectionné ou pas.

    Si vous avez une idée pour la bonne syntaxe à utiliser afin de récupérer correctement les infos du formulaire du style civ_0[0], civ_1[1], etc.

    Merci d'avance de votre aide

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Je ne suis pas sur de moi, mais juste civ[], ne marcherai pas ?

    car avec ton code là en gros tu récupères pour le premier utilisateur si c'est un M :

    civ_1[0] = M
    civ_2[0] = Null
    civ_3[0] = Null


    si tu as un deuxieme utilisateur et que c'est une Mlle :

    civ_4[1] = Null
    civ_5[1] = Null
    civ_6[1] = Mlle

    ect....

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    une solution simple est d'imposer l'index, grâce à un compteur :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    // initialisation du compteur
    $compteur = 0;
    // POUR CHAQUE FORMULAIRE :
    ?>
    <!-- ICI, création du formulaire -->
    <input type="text" ... name="nom[<?php echo $compteur; ?>]" />
    [...]
    <input type="radio" ... name="blabla[<?php echo $compteur; ?>]" />
    [...]
    <?php // incrémentation du compteur, AVANT de créer le formulaire suivant
    $compteur++;
    ?>
    Remarque : ce compteur pourrait être ta variable $acc !?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 141
    Par défaut
    @arakiri
    si j'appelle le champ civ[] partout alors la sélection de la civilité d'une personne va décocher toutes les autres car ils s'appellent tous pareil.

    @jreaux62
    le soucis c'est que civ[1], par exemple, me retournera "m" en 1er car les "value" sont préremplies.

    Du coup je me suis rabattu sur une liste déroulante plutôt que des boutons radios, ça résout mon soucis mais ca ne m'explique pas pourquoi j'avais ce problème et surtout sa solution.

    Merci à vous 2 de m'avoir aidé

  5. #5
    Invité
    Invité(e)
    Par défaut
    Non, car tu auras :
    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
    (formulaire 1 :)
    Nom : <input type="text" name="nom[1]" value="" /> 
    ...
    <input type="radio" name="civ[1]" value="m" /> M 
    <input type="radio" name="civ[1]" value="mme" /> Mme 
    <input type="radio" name="civ[1]" value="melle" /> Mlle
    ...
     
    (formulaire 2 :)
    Nom : <input type="text" name="nom[2]" value="" /> 
    ...
    <input type="radio" name="civ[2]" value="m" /> M 
    <input type="radio" name="civ[2]" value="mme" /> Mme 
    <input type="radio" name="civ[2]" value="melle" /> Mlle
    ...
    civ[1] => civilité de la personne 1 (m, mme ou melle, en fonction du radio coché)
    civ[2] => civilité de la personne 2
    ...

    CQFD.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cedrick21 Voir le message
    ...mais ca ne m'explique pas pourquoi j'avais ce problème et surtout sa solution.
    Je t'explique ton problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="radio" name="civ_xx[]" value="m" /> M 
    <input type="radio" name="civ_xx[]" value="mme" /> Mme 
    <input type="radio" name="civ_xx[]" value="melle" /> Mlle
    en mettant juste civ_xx[], l'index s'incrémente ici 3 FOIS (automatiquement).
    Ce qui met le foutoir dans les index, et tu ne sais plus ce que tu dois récupérer...

    En imposant l'index, plus de problème (voir message précédent)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Formulaire multiples et INSERT sur plusieures tables avec même ID
    Par mfredok dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 25/11/2010, 13h59
  2. [PHP 5.0] envoi email multiple sur formulaire php
    Par trobador dans le forum Langage
    Réponses: 6
    Dernier message: 21/04/2010, 14h04
  3. [AC-2003] Erreur de syntaxe sur l'ouverture d'un formulaire
    Par b.billet85 dans le forum VBA Access
    Réponses: 1
    Dernier message: 31/03/2010, 10h44
  4. probleme de syntaxe sur filtrage de sous formulaire
    Par sebinator dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/01/2009, 12h09
  5. [IE6]Erreur de syntaxe sur post de formulaire
    Par sosophie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/06/2007, 14h19

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