Récupérer ts les résultats de cases à cocher

rashel -  
rashelooo Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai un formulaire sur une page web et je dois récupérer les données via une requête php pour envoyer les résultats par email. Pas de soucis pour les champs textes ou boutons radions.
Par contre, pour les cases à cocher, je ne reçoit que le résultat de la 1ere case cochée.
Comment tout récupérer svp?

Code html:
<tr>
  <td>Quelle couleur?</td>
  <td><input name="couleur" type="checkbox" id="couleur" value="noir" />
    noir</td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td><input name="couleur" type="checkbox" id="couleur" value="blanc" /> 
    blanc
</td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td><input name="couleur" type="checkbox" id="couleur" value="vert" />
    vert</td>
</tr>


Code php:
$message .= "Couleur: $couleur";


Qu'est ce qui cloche dans mon code pour que je ne récupère qu'un seul résultat, même lorsqu'il y en a plusieurs de cochés?

Merci de votre aide et bonne journée!

16 réponses

  1. Breub62 Messages postés 3452 Statut Membre 369
     
    Tu confond checkbox et boutons radio. Pour des checkbox, les noms doivent être différents(couleur1, couleur2,...)
    1
  2. Breub62 Messages postés 3452 Statut Membre 369
     
    De rien ;-)

    J'ai déjà fait ce genre d'erreur, le plus chiant étant quand tu génère automatiquement un formulaire sans savoir combien de checkbox tu as à gérer par la suite. Mais c'est une autre histoire.

    Bonne continuation
    1
  3. Breub62 Messages postés 3452 Statut Membre 369
     
    if(isset($_POST['bleu_fonce']))
    {
    $couleur = "bleu foncé";
    }
    1
  4. Breub62 Messages postés 3452 Statut Membre 369
     
    Ou plutôt :

    if($_POST['Couleur1'] == "bleu_fonce")
    {
    $_POST['Couleur1'] = "bleu foncé";
    }

    ;-)
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Breub62 Messages postés 3452 Statut Membre 369
     
    Moi j'aurais mis :

    
      
    if($_POST['la_specialisation_d_un_collaborateur_comptable'] == "la spécialisation d un collaborateur comptable")  
    {  
    $_POST['la_specialisation_d_un_collaborateur_comptable'] = "la spécialisation d un collaborateur comptable";  
    }  
     $message .= "$_POST['la_specialisation_d_un_collaborateur_comptable'], $solution2, $solution3, $solution4<br><br>"; 
    
    
    
    1
  7. Breub62 Messages postés 3452 Statut Membre 369
     
    Est-ce que ton $message est bien initialisé quelque part à "" ??
    1
  8. Breub62 Messages postés 3452 Statut Membre 369
     
    $HTTP_POST_VARS['message']; c'est l'équivalent de $_POST['message'];

    donc je vois plus trop... Je m'occupe de toi demain... ;-)
    1
  9. rashel
     
    Effectivement, si je renomme chaque checkbox, ça fonctionne!

    Merci beaucoup! :)
    0
  10. rashel
     
    Un problème cependant: s'il y a "bleu clair" ou "bleu foncé", comme je dois faire passer le nom de la checkbox, sur mon mail il y aura écrit "bleu_fonce" et non "bleu foncé".

    J'aurais voulu enlever les "_" . Si je nomme ma check box avec des espaces, ça bug. Une solution peut-être?
    0
  11. rashel
     
    J'ai un soucis de syntaxe: je sais pas comment le mettre dedans, et ça bug. Pourtant, je suis à l'intérieur de balises PHP, donc ca devrait passer. Peut-etre la 1ere double cote que ne lui plait pas?

    	$message .= 	
    	if($_POST['la_specialisation_d_un_collaborateur_comptable'] == "la spécialisation d un collaborateur comptable") 
    { 
    $_POST['la_specialisation_d_un_collaborateur_comptable'] = "la spécialisation d un collaborateur comptable"; 
    } 
    	"$la_specialisation_d_un_collaborateur_comptable, $solution2, $solution3, $solution4<br><br>";
    


    (et ensuite mettre la même condition pour les autres cas. Je te rassure, c'est la partie la plus courte de mon formulaires, les autres questions ont entre 20 et 30 réponses possibles :))))))
    0
  12. rashel
     
    Ça marche pas...

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /xxx/xxx/www/enquiry-enquete.php on line 21

    DreamWeaver me dit aussi qu'il y a une erreur..
    if($_POST['la_specialisation_d_un_collaborateur_comptable'] == "la spécialisation d un collaborateur comptable")  
    {  
    $_POST['la_specialisation_d_un_collaborateur_comptable'] = "la spécialisation d un collaborateur comptable";  
    } 
    $message .= "$_POST['la_specialisation_d_un_collaborateur_comptable'], $solution2, $solution3, $solution4<br><br>";
    	
    0
  13. rashel
     
    ... je ne sais pas...

    Peut-etre parle-tu de ça?
    <?php 
    $message=$HTTP_POST_VARS['message'];


    ?

    Sans la condition, ça marche.. normalement mes bouts de codes sont sur le modèle suivant:
    	$message .= "Nom : <b>$nom</b><br>";
    	$message .= "Prenom : <b>$prenom</b><br>";


    Désolée, je ne suis pas une roxeuse en php! :p Mon truc normalement c'est l'infographie, mais il faut bien apprendre à être polyvalent .... :p
    0
  14. rashelooo Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
     
    Bon... je vais déja me concentrer sur l'affichage de mes x checkbox (très nombreux), et on vera la suite après..

    Merci de ton aide en tous les cas :)
    0
  15. Leviathan49 Messages postés 267 Statut Membre 70
     
    Je vois que tu as déjà eu la réponse à ta question mais je me permet quand même de preciser que le code :
    <tr> 
      <td>Quelle couleur?</td> 
      <td><input name="couleur[]" type="checkbox" id="couleur" value="noir" /> 
        noir</td> 
    </tr> 
    <tr> 
      <td> </td> 
      <td><input name="couleur[]" type="checkbox" id="couleur" value="blanc" />  
        blanc 
    </td> 
    </tr> 
    <tr> 
      <td> </td> 
      <td><input name="couleur[]" type="checkbox" id="couleur" value="vert" /> 
        vert</td> 
    </tr>

    Avec un [] après le nom
    Il fonctionne et permet de récupérer toutes les valeurs de couleur dans un tableau. Attention au cas aucune checkbox n'est coché néanmoins(utilisez un isset).
    0
  16. rashelooo Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
     
    C'est noté, merci de cette précision!
    0