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 :

Proposer un bouton radio coché par défaut sur une variable qu'on a récupéré


Sujet :

Langage PHP

  1. #1
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut Proposer un bouton radio coché par défaut sur une variable qu'on a récupéré
    C'est sûrement pas sorcier, mais je sèche !

    Le but général de l'application est celui-ci : Proposer à un agent un formulaire pré-rempli. En gros, il entre son employeeNumber, et ça lui pré-remplit des tas de champs.

    Dans ce cadre, je récupère par exemple une variable civilité en langage php. (en tapant dans un ldap, grâce à une fonction que j'ai faite à la main et qui tourne impec)... $data['civ'], c'est 'M.' 'Mme' ou 'Mle'...

    Comment faire pour qu'au chargement de la page contenant le form, le bon bouton radio soit coché ?

    J'avais d'abord ça dans l'idée :
    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
     
    <html>
    <head><title>testradio</title></head>
    <body>
    <?php
    //ici la variable récupérée ailleurs
    $civ=Mme;
     
     
    foreach($_POST as $id=>$value) {
    	if ($civ==$id){
    		$check='checked="checked"';
    	}
    	else{
    		$check='';
    	}
    }
    ?>
    <form name="form" action="testradio.php" method="POST">
    	<input type="radio" name="civ" id="M"  <?php echo $check ?>/>M
    	<input type="radio" name="civ" id="Mme" <?php echo $check ?>/>Mme
    	<input type="radio" name="civ" id="Mle" <?php echo $check ?>/>Mle
    </form>
    </body>
    </html>
    Mais je sais pourquoi, ça ne fait rien... Il n'y a pas de $POST puisque je n'ai rien 'soumis'...

    Donc je vois le problème, mais si vous pouviez me mettre sur la piste d'une solution, je vous en saurai gré !

  2. #2
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    D'une part, il nous faudrait l'intégralité du code, car noue ne savons pas à quel endroit l'employé entre son numéro par exemple...

    D'autre part, ton code, même validé par le formulaire n'aurait jamais pu marché


    voilà textuellement ce que tu fais :

    Je choisie "Mr"
    Si choix = "Mr" alors coché = oui sinon coché = non (coché prend donc oui)
    Si choix = "Mme" alors coché = oui sinon coché = non (coché prend maintenant comme valeur non)
    Si choix = "Mlle" alors coché = oui sinon coché = non (coché prend maintenant pour valeur non)

    Au final, coché ($check) prend pour valeur non (en réalité : "") pour tout les choix

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bon, là j'ai des doutes sur le fonctionnement de ton code, en premier lieu parce qu'il n'y a pas de value dans tes boutons radio (donc aucune valeur ne sera envoyée) et en second lieu, parce que (dans l'éventualité où la boucle fonctionne) tu auras comme valeur dans $check la dernière affectée par la boucle foreach et que tu vas appliquer la même valeur à tous les radios...

    En règle générale, on fait plutôt comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $civ=Mme;
    ?>
     
    <form name="form" action="testradio.php" method="POST">
    	<input type="radio" name="civ" value="M"  <?php if ($civ=='M') echo ' checked="checked" ';?>/>M
    	<input type="radio" name="civ" value="Mme" <?php if ($civ=='Mme') echo ' checked="checked" ';?>/>Mme
    	<input type="radio" name="civ" value="Mle" <?php if ($civ=='Mle') echo ' checked="checked" ';?>/>Mle
    </form>

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par SphynXz Voir le message
    D'une part, il nous faudrait l'intégralité du code, car noue ne savons pas à quel endroit l'employé entre son numéro par exemple...
    Non, pas besoin de vous embrouiller. Dès le chargement de la page, $civ est initialisé comme il faut. Là n'est pas le problème.

    D'autre part, ton code, même validé par le formulaire n'aurait jamais pu marché


    voilà textuellement ce que tu fais :

    Je choisie "Mr"
    Si choix = "Mr" alors coché = oui sinon coché = non (coché prend donc oui)
    Si choix = "Mme" alors coché = oui sinon coché = non (coché prend maintenant comme valeur non)
    Si choix = "Mlle" alors coché = oui sinon coché = non (coché prend maintenant pour valeur non)

    Au final, coché ($check) prend pour valeur non (en réalité : "") pour tout les choix
    Oui, tout juste. Merci. Une piste sinon ?

  5. #5
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    Au temps pour moi je n'avais pas vu ton petit "$civ=Mme;"

    Quelle galanterie ^^

    Celira t'as déjà apporté une réponse qui te permet d'avancer

  6. #6
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Mieux qu'avancer, résoudre.
    Merci Célira, merci Sphynxz !

    Et hem, heureusement qu'on est dans la partie PHP débutant lol... Je suis pas en forme moi aujourd'hui.

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

Discussions similaires

  1. Bouton par défaut sur une MSGBOX
    Par zooffy dans le forum Contribuez
    Réponses: 15
    Dernier message: 30/10/2013, 15h24
  2. Impossible d'avoir les boutons radio décochés par défaut
    Par souf_87 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 29/07/2011, 11h01
  3. [PEAR][HTML_QuickForm] Bouton radio sélectionné par défaut
    Par JuTs dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/06/2010, 10h10
  4. Réponses: 3
    Dernier message: 24/04/2008, 11h42
  5. Bouton radio coché par défaut
    Par salsero1 dans le forum Struts 1
    Réponses: 13
    Dernier message: 18/11/2007, 19h21

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