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 un CHECKED


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 156
    Par défaut Récupérer un CHECKED
    Bonsoir tout le monde

    J'ai une ligne de code de ce style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <li>   
            <table><tr><td><img src="exemple.png"></td><td>
            <span class="text"><strong>Exemple</strong></span>
            <input type="hidden" name="selection" value="Exemple" /></td></tr></table>   
        </li>

    Qui nous resort une sorte de bouton ou tu peut cocher / décocher
    Quand il sera coché:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <li>   
            <table><tr><td><img src="exemple.png"></td><td>
            <span class="text"><strong>Exemple</strong></span>
            <input type="hidden" name="selection" value="Exemple" checked="checked" /></td></tr></table>   
        </li>

    J'ai créer une sorte de boite pour cocher les livres dont tu est intéressé et tout... Maintenant je veut récupérer les bouton CHECKED via un script PHP, comment je fais pour vérifier si il est checked

    Voici mon pauvre petit code qui ne sert à rien. bref, il sert à afficher tout les livres mais je veut avoir ceux qui sont coché:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if(isset($_POST['exemple'])) {
    for($i=1;$i<10;$i++){
     
        ?>
        Livre : <?php echo $_POST["exemple$i"]; ?>
     
        <?php
    	}
        die();
    }?>
    Merci les amis.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ pour commencer, la chexbox a pour name="selection"
    2/ si tu as PLUSIEURS checkbox, tu peux écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        <li>   
            <input type="hidden" name="selection[]" value="Exemple1" checked="checked" />
        </li>
        <li>   
            <input type="hidden" name="selection[]" value="Exemple2" checked="checked" />
        </li>
    <!-- ....... -->
    3/ tu récupère alors un array $_POST['selection'] :
    cet array NE contient QUE les cases cochées !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    if(isset($_POST['selection'])) {
        foreach($_POST['selection'] as $i => $val){
    ?>
        <p>Livre : <?php echo $val; ?></p>
    <?php
        } // fin foreach
    } // fin if
    ?>
    ICI, $val est équivalent à $_POST['selection'][$i]

  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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    La dernière fois que j'ai regardé l'attribut checked de la balise input n'était valide que pour des input de type checkbox ou radio. Or là, tu n'utilises que des champs hidden. Je suppose que le checked est mis sur la balise par un quelconque javascript, mais il n'empêche que lorsque tu vas envoyer le formulaire à ton script PHP, tu enverras des champs type hidden et ton script php recevra donc tous tes champs en se moquant éperdument de ton attribut checked.

    Donc plusieurs possibilités :
    - tu mets un nom (ou un index) différent pour chaque élément "cochable". L'action "cocher" va modifier la valeur (par exemple 0 = non coché, 1 = coché) et du côté PHP, tu testes la valeur de chaque élement. Cela revient un peu à enchainer un dragon pour faire cuire un oeuf au plat, mais c'est faisable.
    - tu utilises des vraies checkboxes, éventuellement cachées par un style et modifiées par ton JS comme tes champs actuels.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 156
    Par défaut
    @jreaux62: Merci mais ça affiche tout les éléments
    @Celira: Comme vous avez dit, enchainer un dragon pour cuire un oeuf :S

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Stalk3R Voir le message
    @jreaux62: Merci mais ça affiche tout les éléments
    @Celira: Comme vous avez dit, enchainer un dragon pour cuire un oeuf :S
    Normal, ce n'est pas le bon type !
    <input type="checkbox" name="selection[]" value="Exemple1" checked="checked" />

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/12/2011, 21h47
  2. [MySQL] Récupérer la caractéristique "checked" d'une value (bouton radio)
    Par almoha dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/11/2010, 20h17
  3. Récupérer l'info contenue dans les check box
    Par TopCao dans le forum MATLAB
    Réponses: 6
    Dernier message: 04/03/2010, 17h19
  4. Récupérer le radio button checked
    Par Elstak dans le forum C++
    Réponses: 1
    Dernier message: 02/05/2009, 17h15
  5. Réponses: 2
    Dernier message: 21/09/2007, 12h21

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