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

Langage PHP Discussion :

Récupérer les données de plusieurs formulaires avec un seul submit.


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Par défaut Récupérer les données de plusieurs formulaires avec un seul submit.
    Bonjour,
    Votre apprenti en php est de retour et à besoin de votre aide. En fait , j’ai créé de formulaire de votre pour des gens. Pour chaque personne on peut votre plusieurs profils. Alors j’ai fait le formulaire de la manière suivante :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <input type="text" name="nom" value="Francois" > <br/>
    <input type="checkbox"  name="profile[]" value ="courageux" > <label> Courageux  </label> <br/>
    <input type="checkbox"  name="profile[]" value ="gentil" > <label> Gentil  </label> <br/>
    <input type="checkbox"  name="profile[]" value ="ouvert " > <label> Ouvert  </label> <br/>
     
    <input type="text" name="nom" value="Alice" > <br/>
    <input type="checkbox"  name="profile[]" value ="courageux" > <label> Courageux  </label> <br/>
    <input type="checkbox"  name="profile[]" value ="gentil" > <label> Gentil  </label> <br/>
    <input type="checkbox"  name="profile[]" value ="ouvert " > <label> Ouvert  </label> <br/>
     
    <input type="text" name="nom" value="Yohan" > <br/>
    <input type="checkbox"  name="profile[]" value ="courageux" > <label> Courageux  </label> <br/>
    <input type="checkbox"  name="profile[]" value ="gentil" > <label> Gentil  </label> <br/>
    <input type="checkbox"  name="profile[]" value ="ouvert " > <label> Ouvert  </label> <br/>

    Mon objectif est qu’on puisse voter plusieurs profils pour chaque personne et que je puisse afficher le résultats de chaque personne . Donc j’ai saisir le code de récupérer (☺️☺️☺️)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php foreach ($_Post[‘’profile’’] as $P ) { echo $_Post[‘profile’].’  ´. $p ;} ?>

    Le problème est que ce code donne tous les votes à un seul nom , en occurrence le premier nom de mon formulaire.
    Aidez moi svp !!!

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 710
    Par défaut
    essayez les noms suivants pour les champs et ensuite regardez le résultat dans $_POST
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <input type="text" name="personne[1][nom]" value="Francois"> <br/>
    <label><input type="checkbox"  name="personne[1][profil][]" value ="courageux">Courageux</label> <br/>
    <label><input type="checkbox"  name="personne[1][profil][]" value ="gentil">Gentil</label> <br/>
    <label><input type="checkbox"  name="personne[1][profil][]" value ="ouvert">Ouvert</label> <br/>
     
    <input type="text" name="personne[2][nom]" value="Alice"> <br/>
    <label><input type="checkbox"  name="personne[2][profil][]" value ="courageux">Courageux</label> <br/>
    <label><input type="checkbox"  name="personne[2][profil][]" value ="gentil">Gentil</label> <br/>
    <label><input type="checkbox"  name="personne[2][profil][]" value ="ouvert">Ouvert</label> <br/>
     
    <input type="text" name="personne[3][nom]" value="Yohan"> <br/>
    <label><input type="checkbox"  name="personne[3][profil][]" value ="courageux">Courageux</label> <br/>
    <label><input type="checkbox"  name="personne[3][profil][]" value ="gentil">Gentil</label> <br/>
    <label><input type="checkbox"  name="personne[3][profil][]" value ="ouvert">Ouvert</label> <br/>

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Par défaut
    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 15
    Par défaut
    Merci beaucoup Mathieu pour ce code. Le problème est que je n’arrive pas à récupérer les données dans l’array $_POST . J’ai essayé toute mon imagination mais ça m’envoies : indefined [profile]. Quel est donc le code de récupération, stp ?

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    A mon avis, c'est pas résolu, donc si tu veux davantage de réponses, clique sur le bouton n'est pas résolu. Pour avoir une idée du code de récupération, met var_dump($_POST); dans ton code dans l'action de ton formulaire.

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

    Pour reprendre l'exemple proposé par mathieu :
    Code html : 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
    <form method="post" action="">
    	<p>
    		Francois : <br/>
    		<input type="hidden" name="personne[1][nom]" value="Francois" />
    		<label><input type="checkbox"  name="personne[1][profil][]" value ="courageux">Courageux</label> 
    		<label><input type="checkbox"  name="personne[1][profil][]" value ="gentil">Gentil</label> 
    		<label><input type="checkbox"  name="personne[1][profil][]" value ="ouvert">Ouvert</label> 
    	</p>
    	<p>
    		Alice : <br/>
    		<input type="hidden" name="personne[2][nom]" value="Alice" />
    		<label><input type="checkbox"  name="personne[2][profil][]" value ="courageux">Courageux</label> 
    		<label><input type="checkbox"  name="personne[2][profil][]" value ="gentil">Gentil</label> 
    		<label><input type="checkbox"  name="personne[2][profil][]" value ="ouvert">Ouvert</label> 
    	</p>
    	<p>
    		Yohan : <br/>
    		<input type="hidden" name="personne[3][nom]" value="Yohan" />
    		<label><input type="checkbox"  name="personne[3][profil][]" value ="courageux">Courageux</label> 
    		<label><input type="checkbox"  name="personne[3][profil][]" value ="gentil">Gentil</label> 
    		<label><input type="checkbox"  name="personne[3][profil][]" value ="ouvert">Ouvert</label> 
    	</p>
    	<p>
    		<input type="submit" value="OK" />
    	</p>
    </form>
    Récupération :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    if( isset($_POST['personne']) )
    {
    	foreach( $_POST['personne'] as $id => $personne )
    	{
    		echo $id.' - '.$personne['nom'];
    		if( !empty( $personne['profil'] ) )
    		{
    			echo ' : '.implode(', ',$personne['profil']);
    		}
    		echo '<br/>';
    	}
    }
    ?>
    On obtient (en fonction des cases cochées) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1 - Francois : courageux
    2 - Alice : gentil, ouvert
    3 - Yohan : courageux, gentil

Discussions similaires

  1. Récupérer les données d'un formulaire avec un nombre de champs similaires évolutifs
    Par jimmyneutron dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/03/2012, 00h14
  2. Envoyer les données de plusieurs forms avec un autre formulaire
    Par malgache dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/10/2011, 18h15
  3. Récupérer les données d'un formulaire
    Par rimeh dans le forum Langage
    Réponses: 12
    Dernier message: 05/02/2007, 15h58
  4. Réponses: 1
    Dernier message: 26/01/2007, 10h28
  5. récupérer les données d'un formulaire un peu spécial
    Par Jim_Nastiq dans le forum Interfaces Graphiques
    Réponses: 12
    Dernier message: 10/07/2006, 11h53

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