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 :

Validtion de plusieurs champs input type radio en php


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Programmation Python systeme
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Programmation Python systeme
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Validtion de plusieurs champs input type radio en php
    Bonjour a tous
    je viens de commencer un projet il y'a pratiquement deux semaines avec du php.
    J'ai faire un formulaire qui contient 4 images et sous chaque image j'ai des boutons radio.
    ce sont ces boutons que j'ai validé en php coté traitement mais le poblème c'est que les boutons doivent avoir le name identique pour que sa fonctionne correctement exemple: name="btn" etc...
    le problème est que si le name est identique, comment dois-je faire pour recupérer avec du $_POST[''];.
    Merci de me repondre

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Tous les boutons radios qui ont le même nom comptent pour 1 dans la méthode POST.

    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
     
    <?php
     if (isset($_POST['a'])) {
      print "Bouton a => ".$_POST['a']."<br/>";
     }
     if (isset($_POST['b'])) {
      print "Bouton b => ".$_POST['b']."<br/>";
     } 
    ?>
    <form method="post">
    Boutons a :<br/>
     1<input type="radio" name="a" value="1" /><br/>
     2<input type="radio" name="a" value="2" /><br/>
     3<input type="radio" name="a" value="3" /><br/>
     4<input type="radio" name="a" value="4" /><br/> 
     
    Boutons b :<br/> 
     11<input type="radio" name="b" value="11" /><br/>
     21<input type="radio" name="b" value="21" /><br/>
     31<input type="radio" name="b" value="31" /><br/>
     41<input type="radio" name="b" value="41" /><br/> 
     <input type="submit">
    </form>
    Si tu sélectionnes un bouton a et un bouton b il n'y a qu'un poste pour chaque groupe dans le tableau $_POST. Si tu sélectionnes seulement un a alors seul a est mis dans $_POST. Si tu n'en sélectionne aucun alors $_POST est vide dans mon exemple.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Candidat au Club
    Homme Profil pro
    Programmation Python systeme
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Programmation Python systeme
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci pour m'avoir repondu.
    en faite c'est sa meme le problème car moi j'ai des boutton avec le name identique et lorsque je faire $_POST['du_name'];
    sa traite pour les 4 alors que je veux verifer si une reponse est exacte. je mets la capture dudit problème.
    Merci



    Nom : cbon.PNG
Affichages : 499
Taille : 22,4 Ko
    Nom : code_php.PNG
Affichages : 520
Taille : 17,2 Ko

  4. #4
    Candidat au Club
    Homme Profil pro
    Programmation Python systeme
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Programmation Python systeme
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    ce code est celui que j'avais fais quand j'avais mis des name différents

  5. #5
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Il faut que les 4 radio bouton aient le même nom.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <input type="radio" name="toto" value="homme" /><br/>
    <input type="radio" name="toto"value="femme" /><br/>
    <input type="radio" name="toto" value="pomme" /><br/>
    <input type="radio" name="toto" value="garçon" /><br/>
    Puis dans le contrôle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    if (isset($_POST['toto'])) {
       if ($_POST['toto'] == 'homme') {
          set_flash....etc...
       }
       etc...
    }
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  6. #6
    Candidat au Club
    Homme Profil pro
    Programmation Python systeme
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Programmation Python systeme
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    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
    //module est le name du submit, si le boutton existe alors en rentre dans la verif
    if (isset($_POST['module'])){
    	if(isset($_POST["image"])){
    		 if ($_POST['image'] == 'homme') {
         			set_flash("Désolé votre choix est incorrect", "success");
    		       redirect('module.php');
     
      		 }
      		 if($_POST['image'] == 'garçon') {
         		 set_flash("Désolé votre choix est incorrect", 'danger');
    		        redirect('module.php');
     
      		 }
      		 if ($_POST['image'] == 'pomme') {
         			set_flash("Désolé votre choix est incorrect", 'danger');
    				redirect('module.php');
      		 }
      		 if($_POST['image'] == 'femme') {
     
    		          set_flash("Bravo! Vous pouvez progresser.", "success");
    			   redirect('module_1/lecon_1/second.php');
      		 }
    	}	
    }
    es ce correste ?

  7. #7
    Candidat au Club
    Homme Profil pro
    Programmation Python systeme
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Programmation Python systeme
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    après teste je constate que peut importe l'image choisir sa me retourne sur la page suivante, sa verifie pas correctement

  8. #8
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Dans ces cas là il faut mettre un print $_POST['image']; après chaque condition pour voir où ça passe et où ça ne passe pas.

    De plus il faut poster tout le code, car il suffit que la partie html n'aille pas pour qu'on ne puisse rien déduire du peu qui a été posté.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  9. #9
    Candidat au Club
    Homme Profil pro
    Programmation Python systeme
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Programmation Python systeme
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    page html code +++++++++
    +++++++++++++++++++++
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <?php $title="Accueil";?>
    <?php include('partials/_header.php');?>
    <body style="background: url(assets/img/background.jpg) no-repeat center; background-size:cover; ">
     
    <?php include('partials/_nav.php');?>
    <?php include('partials/_flash.php');?>
    <?php include('partials/_errors.php');?>
     
          <div class="container" style="/*padding-top: 5em;">
              <form class=" well"  method="post" action="exo1.php">
                  <div style="font-size: 2em;">
                      <img src="assets/fonts/module1/haut-parleur.png" id="haut-parleur" style="margin-bottom: 20px;">
                              Lequel est une femme ?
                   </div> 
                  <div class="row">
                    <div class="col-sm-12">
                      <div class="col-sm-3">
                        <img src="assets/fonts/module1/exo12/garçon.png" id="garçon" style="width: 100%;height: 100%;">
                        <input type="radio" name="image" >Yassoua
                      </div>
                      <div class="col-sm-3">
                          <img src="assets/fonts/module1/exo12/homme.png" id="homme" style="width: 100%;height: 100%;">
                        <input type="radio" name="image" >Bian
                      </div>
                      <div class="col-sm-3">
                          <img src="assets/fonts/module1/exo12/femme.png" id="femme" style="width: 100%;height: 100%;">
                        <input type="radio" name="image" >Bla
                      </div>
                      <div class="col-sm-3">
                          <img src="assets/fonts/module1/exo12/pomme.png" id="pomme" style="width: 100%;height: 100%;">
                        <input type="radio" name="image" >Pommou
                      </div>
                    </div>
                  </div>
                 <div class="row">
                        <div class="col-sm-12">
                          <div class="col-sm-4"> </div>
                          <div class="col-sm-4">
                             <input type="submit" id="submit" class=" btn btn-success" style="margin-top: 15px" value="Continuer" name="module">
                          </div>
                           <div class="col-sm-4"> </div>
                        </div>
                      </div> 
     
              </form>
     
     
          </div>

    <!-- <hr class="featurette-divider">


    <?php include('partials/_footer.php');?>

    ++++++++++++++++++++++

  10. #10
    Candidat au Club
    Homme Profil pro
    Programmation Python systeme
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Programmation Python systeme
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    le code de la page exo1.php

    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
    if (isset($_POST['module'])){
    	if(isset($_POST["image"])){
    		$image = $_POST["image"];
    		 if ($image == 'femme') {
     
    		          set_flash("Bravo! Vous pouvez progresser.", "success");
    			   redirect('module_1/lecon_1/second.php');
      		 }
      		 if($image == 'garçon') {
         		 set_flash("Désolé votre choix est incorrect", 'danger');
    		        redirect('module.php');
     
      		 }
      		 if ($image == 'pomme') {
         			set_flash("Désolé votre choix est incorrect", 'danger');
    				redirect('module.php');
      		 }
      		 if($image == 'homme') {
         		set_flash("Désolé votre choix est incorrect", "success");
    		       redirect('module.php');
      		 }
    	}	
    }

  11. #11
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    J'ai déjà posté la solution au problème. Comme il s'agit d'un exercice je n'en dirai pas plus.

    Nom : 20170226-001.jpg
Affichages : 462
Taille : 32,7 Ko
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  12. #12
    Candidat au Club
    Homme Profil pro
    Programmation Python systeme
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Programmation Python systeme
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci d'avoir accorder importance a mon problème.
    cela m'a été utilise a la resolution de mon problème.

Discussions similaires

  1. Réponses: 16
    Dernier message: 29/05/2016, 19h45
  2. [MySQL] Update plusieurs champs input
    Par xender dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/02/2007, 16h10
  3. Syntaxe sur un "input type=radio"
    Par lodan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/08/2006, 21h41
  4. comment récupérer un input type radio et checkbox
    Par 2tsiris dans le forum Struts 1
    Réponses: 4
    Dernier message: 27/04/2006, 10h03
  5. Retrouver l'input type="radio" choisi
    Par viking16 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/12/2005, 13h31

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