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 checkbox cochées dans une variable [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Récupérer les checkbox cochées dans une variable
    Bonjour à tous,

    Je suis débutant en PHP et je bute sur le problème suivant.

    J'ai un formulaire avec 4 checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <input type="checkbox" name="atelier" id="atelier1" />
             <label for="atelier2">atelier 2</label>
             <input type="checkbox" name="atelier" id="atelier2" />
             <label for="atelier3">atelier 3</label>
             <input type="checkbox" name="atelier" id="atelier3" />
             <label for="atelier4">atelier 4</label>
             <input type="checkbox" name="atelier" id="atelier4" />
    Plusieurs checkbox peuvent être cochées en même temps.

    Je souhaiterais récupérer dans une variable de type string la concaténation des id des checkbox cochées, par exemple : $variable = "atelier1 atelier4"
    dans le cas où ce sont les checkbox des ateliers 1 et 4 qui sont cochées.

    Qqun pourrait-il m'aider SVP ?

    MERCI
    Dernière modification par Deepin ; 01/06/2009 à 06h10. Motif: Merci d'utiliser les balises [code] (bouton '#') de l'éditeur !!!

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    Rajoute [] au nom des champs, ex. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="atelier[]" id="atelier1" />
    Ainsi les cases sélectionnées seront placées dans le tableau $_POST['atelier'] que tu seras libre de formater comme bon te semble

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <input type="checkbox" name="atelier1" id="atelier1" value="atelier1" />
    <label for="atelier2">atelier 2</label>
    <input type="checkbox" name="atelier2" id="atelier2" value="atelier2" />
    <label for="atelier3">atelier 3</label>
    <input type="checkbox" name="atelier3" id="atelier3" value="atelier3" />
    <label for="atelier4">atelier 4</label>
    <input type="checkbox" name="atelier4" id="atelier4"value="atelier4" />
    apres dans le Script Php le test sur les champ serai comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(isset($_POST['atelier1'])) $at=$at+$_POST['atelier1'])+' ';
    if(isset($_POST['atelier2'])) $at=$at+$_POST['atelier2'])+' ';
    if(isset($_POST['atelier3'])) $at=$at+$_POST['atelier3'])+' ';
    if(isset($_POST['atelier4'])) $at=$at+$_POST['atelier4'])+' ';

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    Et s'il y a 50 ateliers ? Mieux vaut utiliser []

  5. #5
    Invité
    Invité(e)
    Par défaut
    Tout d'abord un grand merci à vous.

    Il y encore un petit soucis par contre...

    J'ai omis de vous dire, pour simplifier les choses, qu'il y avait un javascript derrière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
             <input type="checkbox" name="atelier[]" id="atelier1" value="atelier1" onclick="CalculTarif()" />
             <label for="atelier2">atelier 2</label>
             <input type="checkbox" name="atelier[]" id="atelier2" value="atelier2" onclick="CalculTarif()" />
             <label for="atelier3">atelier 3</label>
             <input type="checkbox" name="atelier[]" id="atelier3" value="atelier3" onclick="CalculTarif()" />
             <label for="atelier4">atelier 4</label>
             <input type="checkbox" name="atelier[]" id="atelier4" value="atelier4" onclick="CalculTarif()" />
    Avec la fonction :

    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
    function CalculTarif()
    {
    // Tarifs adhérents (0,1,2,3,4 ateliers)
    o=[0,15,30,45,50];
    // Tarif non adhérents (0,1,2,3,4 ateliers)
    n=[0,30,60,90,100];
    //
    // - Calcul du nombre d'Ateliers => i
    //
    var i=0;
    for(j=0; j<4; j++)
    {
    	if(document.inscription.atelier[j].checked) {i++;}
    }
    //
    //- récupération du Montant correspondant
    //
    if (document.getElementById('oui').checked == true)
    {
    //	cas adhérent => utilisation du tableau  o
    	document.getElementById('montant').value = o[i];
    }
    else
    {
    // 	cas non adhérent => utilisation du tableau n
    	document.getElementById('montant').value = n[i];
    }
    }	
     
    </script>
    Hélas, cette fonction ne marche plus à présent !

    Pourriez-vous me trouver la correction SVP ?
    (il y a 4 ateliers au fait, pas plus)

    Encore merci d'avance.

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    C'est du js, tu devrais poster dans le forum concerné

    Un début de piste, est d'utiliser getElementsByTagName() et de boucler dessus en regardant si le name est bien le bon.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Heu oui effectivement je suis passé de php à JS ...

    Mais j'ai trouvé la réponse entre temps :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.inscription.elements['atelier[]'][j].checked
    Merci.

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

Discussions similaires

  1. Récupérer les sorties console dans une variable
    Par ol9245 dans le forum MATLAB
    Réponses: 4
    Dernier message: 10/06/2012, 21h36
  2. [SP-2007] Récupérer les checkboxes cochées dans une custom task
    Par nostaze dans le forum SharePoint
    Réponses: 0
    Dernier message: 21/05/2012, 16h21
  3. Affichier les CheckBox coché dans une boucle
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/05/2010, 15h09
  4. Réponses: 3
    Dernier message: 15/05/2008, 13h43
  5. Réponses: 4
    Dernier message: 20/08/2007, 01h16

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