Comment récupérer les valeurs d'un CheckBox ? (Résolu) - PHP - Programmation
Marsh Posté le 11-12-2007 à 10:38:06
Case cochée : $_POST['nom-de-ta-case'] == 'value de ta cas'
Case pas cochée : $_POST['nom-de-ta-case'] indéfinie ou vaut '' (test avec empty() par exemple)
Et puis un print_r() sur $_POST et tu verra directement quoi ya dedans
Marsh Posté le 11-12-2007 à 10:39:50
T'as mis le même name à toutes les checkbox, ça risque pas de marcher Il faut que le name soit différent.
Marsh Posté le 11-12-2007 à 10:40:38
PIGs_DarkSith a écrit : Je dois donc récupérer la valeur de l'id et non du name (je ne peux malheureusement pas modifier le code source du formulaire, j'utilise une classe pour le générer...) |
J'avais pas vu ça Ben c'est foutu, on peut pas récupérer l'id, seul le name est utilisé pour transmettre. Jette ta classe
Marsh Posté le 11-12-2007 à 10:43:11
Citation : Jette ta classe |
Ben j'aimerais bien moi, en plus elle me fait plus chier qu'autre chose celle-là
En clair, vous me confirmer que je peux rien faire avec cette classe ?
Marsh Posté le 11-12-2007 à 11:39:08
html: name="reponse[]"
php: $_POST['reponse']
Marsh Posté le 11-12-2007 à 17:00:15
C'est bon j'ai réussi, en mettant reponse[] dans le name au lieu de reponse à tout mes champs.
Et avec cette fonction je peux récupérer toutes mes valeurs :
foreach($_POST['reponse'] as $reponse){
echo $reponse.'<br />';
}
Le post de sielfried était pas très développé mais m'a quand même mis sur la piste
Merci pour vos réponses.
Marsh Posté le 11-12-2007 à 17:20:00
PIGs_DarkSith a écrit : |
Je suppose que c'est juste une boucle de test ? Parce que sinon, grosse faille de sécurité là (ne jamais afficher ce qui provient directement de l'utilisateur).
Marsh Posté le 11-12-2007 à 20:06:30
PIGs_DarkSith a écrit :
|
Tu parles d'une classe ou d'un id ? L'un n'est pas l'autre ... L'id sert à repérer sans ambigüité un élément dans une page, une balise HTML plus concrètement. ça sert de pointeur d'acces pour le DOM par exemple : si tu as 50 checkboxes, toutes doivent avoir un ID différent (en revanche, elles peuvent avoir le même name) et par exemple avec javascript, tu peux en choisir une en parculilier par document.getElementById('id_de_la_balise');
L'id peut aussi serevir à appliquer des styles CSS justement par ce moyen (1 id == 1 et 1 seule balise)
Marsh Posté le 12-12-2007 à 14:27:22
Citation : Je suppose que c'est juste une boucle de test ? Parce que sinon, grosse faille de sécurité là |
Oui c'est un boucle de test en effet.
Par contre je comprend pas trop en quoi c'est un faille de sécurité
Enfin c'est pour un petit réseau Intranet donc la sécurité, c'est pas aussi important. Je vois pas une opératrice hacker le site
Citation : Tu parles d'une classe ou d'un id ? L'un n'est pas l'autre ... |
D'une classe, l'entreprise à développer des classes pour les formulaires.
Au lieu d'avoir <input .....> on doit tapper $table1->addText(.....)
Je trouve ça plus chiant que pratique moi, enfin
Marsh Posté le 12-12-2007 à 15:09:25
PIGs_DarkSith a écrit :
|
Parce qu'un utilisateur mal intentionné peut très simplement faire en sorte qu'une de tes $_POST['reponse'] contienne un truc du style <script type="text/javascript">pleins_de_choses_pas_belles();</script> (par exemple).
Marsh Posté le 12-12-2007 à 15:11:34
Ouai enfin encore faut-il que ces données soient ressorties à d'autres utilisateurs. Parce qu'avec ce simple code, une personne mal intentionnée n'ira pas bien loin!
Marsh Posté le 12-12-2007 à 15:48:52
Je suppose, mais ça reste une très mauvaise idée en règle générale, donc autant l'éviter tout le temps.
Marsh Posté le 11-12-2007 à 10:36:17
Bonjour,
Voilà, sur mon site j'ai un formulaire avec des cases à cocher.
Mon soucis c'est que je n'arrive pas à récupérer les valeurs renvoyé par celui-ci.
Je sais que pour un champ classique on va entrer : "echo $_POST['nom_du_champ'];" et ça va marcher mais pour des cases à cocher
Mon formulaire se présente de la façon qui suit :
<td colspan="2">Pièces jointes :</td></tr> <tr><td><label id="lbl_reponse" for="reponse"></label></td><td>
<input class="checkbox" name="reponse" id="reponse-0" value="1" type="checkbox"> <label id="lbl_reponse-0" for="reponse-0">Inscriptions</label><br>
<input class="checkbox" name="reponse" id="reponse-1" value="2" type="checkbox"> <label id="lbl_reponse-1" for="reponse-1">Fiches</label><br>
<input class="checkbox" name="reponse" id="reponse-2" value="3" type="checkbox"> <label id="lbl_reponse-2" for="reponse-2">Convocation</label><br>
<input class="checkbox" name="reponse" id="reponse-3" value="4" type="checkbox"> <label id="lbl_reponse-3" for="reponse-3">Attestation</label><br>
<input class="checkbox" name="reponse" id="reponse-4" value="5" type="checkbox"> <label id="lbl_reponse-4" for="reponse-4">Facture</label>
Je dois donc récupérer la valeur de l'id et non du name (je ne peux malheureusement pas modifier le code source du formulaire, j'utilise une classe pour le générer...)
Merci d'avance pour vos réponses
Message édité par PIGs_DarkSith le 11-12-2007 à 17:02:27
---------------
PIGs_DarkSith a parlé !