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ération des valeurs des cases à cocher


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Par défaut Récupération des valeurs des cases à cocher
    Bonjour,
    J'ai un petit problème avec les valeurs que je ne récupère pas...

    sur ma page web
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    echo '<td>
    <form method="get" action="../script/checkbox_architecture.php">
    <input type="submit" value="Selected values\' architecture" name="ok2">
    </form>
    </td>';
     
    foreach(array_keys($_SESSION['requete']) as $nom => $req){
    <input type="checkbox" name="IDlist[]" value="'. $_SESSION['requete'][$req]['ID'].'">}
    sur mon script php
    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
     
    function test (){
     
    exec("rm -f ../tmp/derniersResultats.txt && touch ../tmp/derniersResultats.txt");
     
    $IDlist[] = $_GET['IDlist'];
     
    	foreach ($IDlist as $req){
    		print($req);
    		$file = ".../tmp/derniersResultats.txt";
     
    		$query = ('echo '.$req.' >> ../tmp/derniersResultats.txt');
    		exec($query);
    		return $file;
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (isset($ok2)){
     
    $file = test()or die("problème de redirection1" );
    get_architecture($file)or die("problème de redirection2" );}
    donc j'ai un problème avec le $_GET['IDlist'], mais je ne vois pas pourquoi ça ne passe pas.

    HELP PLEASE!!

  2. #2
    Membre émérite 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
    Par défaut
    A première vue :
    Tes balises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="IDlist[]" value="'. $_SESSION['requete'][$req]['ID'].'">
    devraient se trouver entre la balise ouvrante et la balise fermante de ton form,
    sinon lorsqu'on clique sur le submit 'ok2',
    le tableau IDlist ne sera pas transmis.
    Fred

  3. #3
    Membre confirmé
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Par défaut
    Hmmm ok

    je voulais mettre le boutton en haut et en bas de la page, car la longueur de celle-ci est variable.

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Par défaut arrayhey
    Bonjour,

    Pourquoi mets tu un array_keys() dans ta boucle foreach() ?

    <input type="checkbox" name="IDlist[]" value="'. $_SESSION['requete'][$req]['ID'].'">
    IDlist[] devrait commencer par un $ et avoir une variable entre les []

    Il y a une concaténation $_SESSION['requete'][$req]['ID'] avec rien ! Cette variable est entre des ' ' est non interprété.

  5. #5
    Membre confirmé
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Par défaut
    Bon alors reprenons parce que je suis perdue !!!

    1/ Comment mettre les 2 boutons sans que les balises fermantes ne posent de problème ??????

    je voulais faire quelque chose du genre

    bonton 1 bouton 2

    check1 valeur
    chek2 valeur
    ........

    bonton 1 bouton 2

    2/ Dans l'un des exemple que j'avais trouvé sur le net, le tableau n'était pas déclaré comme tu l'a conseillé, donc j'ai du raté un truc.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="$IDlist[]" value="'$_SESSION['requete'][$req]['ID']'">
    3/ Pourquoi mets tu un array_keys() dans ta boucle foreach() ?

    et bien pour moi $IDlist étant un tableau je voulais faire une bouble du genre
    tant que le tableau n'est pas vide
    pour chaqu'un de ces élément
    faire .....

    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
     
    function test (){
     
    exec("rm -f ../tmp/check_selection.txt && touch ../tmp/check_selection.txt");
     
    while(!empty($_GET['$IDlist[]'])){
    	$IDlist[] = $_GET['$IDlist[]'];
     
    		foreach ($IDlist as $req){
     
    			$file = ".../tmp/check_selection.txt";
     
    			$query = ('echo '.$req.' >> ../tmp/check_selection.txt');
    			exec($query);
    			return $file;
    		}
    	}
    }
    je ne sais pas si je suis assez claire..........

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Citation Envoyé par LDDL Voir le message
    IDlist[] devrait commencer par un $ et avoir une variable entre les []
    Surtout pas ! c'est l'attribut name html et non une variable php...

    Yuki-hime, il te manque un echo pour afficher les checks (ou alors une fermeture/ouverture des balises php. Ton foreach porte sur les éléments de $_SESSION['requete'] et pas sur ses clés. Et comme l'a dit micetf, les checkbox doivent être dans le formulaire.

    Donc quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    echo '<td>
    <form method="get" action="../script/checkbox_architecture.php">
    <input type="submit" value="Selected values\' architecture" name="ok2">';
    foreach($_SESSION['requete'] as $cle => $req)
    {
      echo '<input type="checkbox" name="IDlist[]" value="'. $req['ID'].'">';
    }
    echo '</form>
    </td>';
    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)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre émérite 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
    Par défaut
    Ne serait-ce pas un formulaire de ce type que tu voulais construire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <td>
    <form method="get" action="../script/checkbox_architecture.php">
    <input type="submit" value="Selected values' architecture" name="ok2">
    <?php 
    foreach($_SERVER['requete'] as $nom){
    ?>
    	<input type="checkbox" name="IDlist[]" value="<?php echo $nom['ID']; ?>"/>
    <?php
    }
    ?>
    </form>
    </td>
    que tu récupères ensuite dans $_GET['IDlist'] qui est alors un tableau.
    Là, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($_GET['IDlist'] as $nom) {
        // chaque $nom contient une des "value" des checkbox cochées 
    }
    Fred

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/03/2011, 04h07
  2. Insertion des valeurs des cases à cocher dans la base de données
    Par ottoayoub dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/05/2009, 01h45
  3. Réponses: 15
    Dernier message: 21/12/2008, 20h31
  4. Sauvegarde des valeurs de cases à cocher
    Par jeunot0108 dans le forum Forms
    Réponses: 5
    Dernier message: 25/09/2007, 16h58
  5. Réponses: 5
    Dernier message: 15/06/2007, 12h58

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