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 :

lecture valeurs checkbox


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut lecture valeurs checkbox
    Bonsoir,

    une question de débutant : j'ai des checkbox dans un formulaire html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="affich[]" value="a" />
    et dans l'action, je voudrais en récupérer la valeur ; j'ai repris un code trouvé dans un post :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach ($_POST["affich"] as $index => $value){
       echo $index." :".$value."<br/>";
    mais dans les $value, y a rien : qu'est-ce qui ne va pas ?

  2. #2
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Bonsoir,
    Pour moi, le problème est ailleurs que ce que tu nous montres.
    En effet, tu peux tester le code ci-dessous :
    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
    <?php
    if (isset($_POST['affich'])) {
    	foreach ($_POST['affich'] as $cle => $val) {
    		echo 'Indice case cochée : '.$cle." => Valeur : ".$val."<br/>";
    	}
    } else {
    	echo "Vous n'avez coché aucune case";
    }
    ?>
    <form action="" method="post">
    <input type="checkbox" name="affich[]" value="a" />
    <input type="checkbox" name="affich[]" value="b" />
    <input type="checkbox" name="affich[]" value="c" />
    <input type="submit" value="GO"/>
    </form>
    Peut-être t'éclairera-t-il sur le fonctionnement des cases à cocher.

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Oui, tu as clairement raison, vu que ton code marche et qu'il n'y a pas grosse différence avec le mien ; cela dit, ces checkbox sont dans un formulaire html qui contient d'autres champs, avec lesquels je n'ai aucun problème ; comme je ne vois pas où peut se trouver le problème, je mets ici le formulaire html en entier ainsi que le début de l'action :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
       <form method="post" enctype="multipart/form-data" action="<?=$_SERVER["PHP_SELF"]?>">
            <fieldset>
            <table>
              <tbody>
              <tr>Si vous voulez que vos nom et pr&eacute;nom apparaissent dans l'annonce, merci de cocher.<br><br></tr>
                <tr>
                  <td> <input value="fr" name="langue"
     type="hidden"></td>
                  <td></td>
                  <td></td>
                </tr>
                <tr><td><input type="checkbox" name="affich[]" value="a" /></td>
                  <td>* Nom : </td>
                  <td><input name="nom" size="40"
     type="text"></td>
                  <td></td>
                </tr>
                <tr><td><input type="checkbox" name="affich[]" value="b" /></td>
                  <td>* pr&eacute;nom : </td>
                  <td><input name="prenom" size="40"
     type="text"></td>
                  <td></td>
                </tr>
                <tr><td><input type="checkbox" name="affich[]" value="c" /></td>
                  <td>* pseudo : </td>
                  <td><input name="pseudo" size="40"
     type="text"></td>
                  <td></td>
                </tr>
                <tr><td></td>
                  <td>* cat&eacute;gorie : </td>
                  <td><select name="cat">
                  <option value="avis_rech">Avis de recherche</option>
                  <option value="ret_ami">Retrouver un ami</option>
                  <option value="ch_femme">Chercher une femme</option>
                  <option value="ch_homme">Chercher un homme</option>
                  <option value="rech_animaux">Chercher un animal</option>
                  <option value="rech_objet">Chercher un objet</option>
                  </select></td>
                  <td></td></tr>
                <tr><td></td>
                <td>photo(s) attendre plusieurs secondes<br>   </td><td> <input type="hidden" name="MAX_FILE_SIZE" value="10485760"/><table><tr><td>1 <input type="file" name="photo1" accept="image/gif,image/jpeg,image/png" size="30"/></td></tr>
     
    <tr><td>2 <input type="file" name="photo2" accept="image/gif,image/jpeg,image/png" size="30"/></td></tr><tr><td>3 <input type="file" name="photo3" accept="image/gif,image/jpeg,image/png" size="30"/></td></tr></table>           </td></tr>
               <tr><td> redimensionnement <br>des photos :</td><td align="right"> petit</td><td><input type="radio" name="dimphoto" value="150"/></td></tr>
               <tr><td></td><td align="right">grand</td><td><input type="radio" name="dimphoto" value="300"/></td></tr>
                <tr><td></td>
                  <td valign="top">* Texte : </td>
                  <td>			  <textarea id="editor1"  name="editor1"><p>Votre annonce .</p></textarea>
    			  <script type="text/javascript">
    	CKEDITOR.replace( 'editor1' );
    </script></td>
                  <td><b>Aidez-vous avec la liste ci-dessous :</b><br>
                  <ul>
                    <li>Nom / pr&eacute;nom de la personne
    disparue. </li>
                    <li>contexte de la disparition. </li>
                    <li>date de la disparition. </li>
                    <li>informations sur la personne disparue. </li>
                    <li>derni&egrave;re nouvelle sur
    la personne. </li>
                    <li>personne &agrave; contacter.</li>
                  </ul>
                  </td>
                </tr>
                <tr>
                  <td></td>
                  <td><input value="Envoyer" type="submit"></td>
                  <td></td>
                </tr>
              </tbody>
            </table>
            </fieldset>
          </form>
    <?php
    $aff_nom=$_POST['affich'][0];
    $aff_prenom=$_POST['affich'][1];
    $aff_pseudo=$_POST['affich'][2];
    echo 'aff_pseudo='.$aff_pseudo.'<br>';
    foreach ($_POST["affich"] as $index => $value){
       echo $index." :".$value."<br/>";
    ...

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Un checkbox n'est envoyé que si et seulement si il est coché.
    Pourquoi tu utilises un name comme tableau or que tu veux utiliser chaque checkbox pour différent utilisation?
    Utilise différent name puis teste avec la fonction isset pour savoir si le checkbox a été coché ou non.

    A+.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Pourquoi tu utilises un name comme tableau or que tu veux utiliser chaque checkbox pour différent utilisation?
    Par habitude, mais même si je ne fais plus de tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="checkbox" name="affich1" value="1" />
    $affich_prenom=(isset($_POST['affich1']))?1:0;
    echo 'aff_prenom='.$aff_prenom.'<br>';
    y a rien dans $aff_prenom alors que, si je coche, $_POST['affich1'] vaut bien 1 : quelle est mon erreur ?

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    j'ai résolu le problème sans utiliser isset.

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

Discussions similaires

  1. recupérer valeur checkbox
    Par Emcy dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 15/09/2009, 15h13
  2. Récupérer les valeurs checkbox
    Par pitxu dans le forum Langage
    Réponses: 15
    Dernier message: 19/09/2007, 15h04
  3. Inserer valeur checkbox dans MySQL
    Par Kornikopic dans le forum IHM
    Réponses: 3
    Dernier message: 19/06/2007, 13h22
  4. [Tableaux] Valeur checkbox
    Par baillador dans le forum Langage
    Réponses: 7
    Dernier message: 13/04/2006, 10h25
  5. Lecture valeurs CSS impossible :s
    Par balti dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/09/2005, 21h32

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