Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2011, 20h22   #1
Membre à l'essai
 
Inscription : août 2010
Messages : 116
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 116
Points : 22
Points : 22
Par défaut Récupérer un CHECKED

Bonsoir tout le monde

J'ai une ligne de code de ce style:

Code :
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 :
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 :
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.
Stalk3R est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2011, 20h43   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
1/ pour commencer, la chexbox a pour name="selection"
2/ si tu as PLUSIEURS checkbox, tu peux écrire :
Code :
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 :
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]
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 14h23   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 661
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 661
Points : 5 388
Points : 5 388
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)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 00h55   #4
Membre à l'essai
 
Inscription : août 2010
Messages : 116
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 116
Points : 22
Points : 22
@jreaux62: Merci mais ça affiche tout les éléments
@Celira: Comme vous avez dit, enchainer un dragon pour cuire un oeuf :S
Stalk3R est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 09h28   #5
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
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 !
Citation:
<input type="checkbox" name="selection[]" value="Exemple1" checked="checked" />
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h51.


 
 
 
 
Partenaires

Hébergement Web