[PHP] recuperation valeur checkbox

dubuducu Messages postés 395 Statut Membre -  
thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'aimerai savoir s'il vous est possible de m'indiquer la marche a suivre afin de recuperer la validation d'une ligne de valeur validée a l'aide de checkbox. je mexplike :

j'ai fé plusieurs requete qui m'ont donné un resultat sous cette forme :

id nom email acheter
1 xxx xxxx checkbox
2 xxx xxxx checkbox
3
4
etc...

si je selctionne la ligne 2 et 3, je voudrai qu'en appuyant sur un bouton ENVOYER, cela m'envoi vers une page de confirmation (confirmation.php) recapitulant le choix .
je pense cela possible mais je n'ai aucune idée de la marche a suivre.je me tiens a votre disposition pour de plus amples information. Merci d'avance pour vos reponses
Configuration: Windows XP
Internet Explorer 6.0

48 réponses

  • 1
  • 2
  • 3
Résumé de la discussion

Récupérer la validation d'une ligne de valeurs via des checkbox et l'envoyer vers une page de confirmation (confirmation.php) constitue la problématique centrale, afin d'afficher le récapitulatif des choix sélectionnés. Plusieurs solutions convergent vers l'utilisation d'un formulaire HTML générant des inputs checkbox nom='option[i]' et d'envoyer les données par POST vers confirmation.php, où le récapitulatif programmé affiche les champs id, nom, email et achats sélectionnés. En pratique, il faut récupérer $_POST côté serveur, itérer sur les clés correspondant aux choix et générer un récapitulatif affiché sur confirmation.php, tout en protégeant les données et en gérant les cas sans sélection.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. croy Messages postés 457 Statut Membre 114
     
    Google : PHP formulaire checkbox
    1
  2. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    pour recuperer tu fait echo = $_POST["chek1"]; par exemple
    si ton nombre de checkbox varie il te faudras les nommé dynamiquement ex : check$i pour pouvoir affiche le resultat de chacune
    0
  3. dubuducu Messages postés 395 Statut Membre 4
     
    j'ai un peu oublié de vous donner mon code ... veuillez m'en excuser

    $a = $_POST['departement'];
    $b = $_POST['thematique_projet'];

    $sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
    $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );

    if($result) {
    // debut du tableau
    echo '<table bgcolor="#FFFFFF" align="center">'."\n";
    // première ligne on affiche les titres dans 4 colonnes
    echo '<tr>';
    echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';

    echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>';
    echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td>';
    echo '</tr>'."\n";
    // lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
    while($row = mysql_fetch_array($result)) {
    echo '<tr>';
    echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
    echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
    echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
    echo '<td><input type="checkbox" name="option" value="acheter">acheter<br></td>'."\n";
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';

    ?>
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      justement c'est cela que je ne sais pas faire, comment differencier chaque value de mes checkbox ?
      que dois-je faire ?

      Merci beaucoup
      0
  4. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    $i=0;
    while($row = mysql_fetch_array($result)) {
    echo '<tr>';
    echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
    echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
    echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
    echo '<td><input type="checkbox" name="option$i" value="acheter">acheter<br></td>'."\n";
    echo '</tr>'."\n";
    $i = $i +1;
    }

    sur l'autre page

    echo = $_POST["chek1"];
    echo = $_POST["chek2"];
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      Merci crazyspy pour tes reponses aussi rapides.

      ou dois-je placer
      echo "<form action='confirmation.php' method='post'>
      ainsi que
      echo "<input type='submit'"."value='Validez votre choix'></form>\n";

      $a = $_POST['departement'];
      $b = $_POST['thematique_projet'];

      $sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
      $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );


      if($result) {
      // debut du tableau
      echo '<table bgcolor="#FFFFFF" align="center">'."\n";
      // première ligne on affiche les titres dans 4 colonnes
      echo '<tr>';
      echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
      echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>';
      echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td>';
      echo '</tr>'."\n";
      // lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
      $i=0;
      while($row = mysql_fetch_array($result)) {
      echo '<tr>';
      echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
      echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
      echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
      echo '<td><input type="checkbox" name="option$i" value="acheter">acheter<br></td>'."\n";
      echo '</tr>'."\n";
      $i = $i +1;
      }

      echo '</table>'."\n";
      // fin du tableau.
      }
      else echo 'Pas d\'enregistrements dans cette table...';



      ?>


      c'est debile mais n'importe ou ke je le place ceci ne fonctionne pas ! Merci
      De plus dans confirmation.php je voudrai ke les devis selectionnés soient recapitulés de cette maniere :
      Vous avez choisi :
      id nom email


      Voila merci davance
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    $a = $_POST['departement'];
    $b = $_POST['thematique_projet'];

    $sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
    $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );

    if($result) {
    // debut du tableau
    echo "<form action='confirmation.php' method='post'>
    echo '<table bgcolor="#FFFFFF" align="center">'."\n";
    // première ligne on affiche les titres dans 4 colonnes
    echo '<tr>';
    echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
    echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>­;';
    echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td&g­t;';
    echo '</tr>'."\n";
    // lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
    $i=0;
    while($row = mysql_fetch_array($result)) {
    echo '<tr>';
    echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
    echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
    echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
    echo '<td><input type="checkbox" name="option'.$i.'" value="acheter">acheter<br></td>'."\n";
    echo '</tr>'."\n";
    $i = $i +1;
    }

    echo '</table>'."\n";
    echo "<input type='submit'"."value='Validez votre choix'></form>\n";
    // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';

    ?>

    comme cela j'ai modif un petit truck aussi au niveau du nom de la checkbox
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      ah oui, je viens de voir .
      hum, par contre maintenant plus rien de s'affiche sur liste.php.

      $a = $_POST['departement'];
      $b = $_POST['thematique_projet'];

      $sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
      $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );


      if($result) {
      // debut du tableau
      echo "<form action='confirmation.php' method='post'>
      echo '<table bgcolor="#FFFFFF" align="center">'."\n";
      // première ligne on affiche les titres dans 4 colonnes
      echo '<tr>';
      echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
      echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>­;­;';
      echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td&g­­t;';
      echo '</tr>'."\n";
      // lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
      $i=0;
      while($row = mysql_fetch_array($result)) {
      echo '<tr>';
      echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
      echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
      echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
      echo '<td><input type="checkbox" name="option'.$i.'" value="acheter">acheter<br></td>'."\n";
      echo '</tr>'."\n";
      $i = $i +1;
      }

      echo '</table>'."\n";
      echo "<input type='submit'"."value='Validez votre choix'></form>\n";
      // fin du tableau.
      }
      else echo 'Pas d\'enregistrements dans cette table...';



      ?>

      j'ai remplacé par ton code ...
      0
      1. dubuducu Messages postés 395 Statut Membre 4 > dubuducu Messages postés 395 Statut Membre
         
        n'y a t'il pas une erreur de syntaxe dans la checkbox ?
        0
  7. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    name="option'.$i.'" et si tu remet name="option$i"
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      je l'ai remise . Rien ne change !
      depuis que l'on a disposé le form, ca deconne
      0
  8. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    moi jen utilise elle esont ecrite comme cela :

    <input type='checkbox' value='suppr' name='suppr' />
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      hum ... bon bin je suis pas dans la merde !
      je ne sais pas koi faire
      0
  9. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    echo "<input type='submit' value='Valider' /></form>";

    en mettant ceci a la place de
    echo "<input type='submit'"."value='Validez votre choix'></form>\n";
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      maleureusment, ceci ne change rien.
      des que j'enleve le form ca refonctionne autrement cela ne m'affiche rien sur liste.php.
      Je ne vois pas ce qui va pas.

      $sql = "SELECT id,departement,commentaires FROM devis_table WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "'";
      $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );


      if($result) {
      // debut du tableau
      echo "<form action='confirmation.php' method='post'>
      echo '<table bgcolor="#FFFFFF" align="center">'."\n";
      // première ligne on affiche les titres dans 4 colonnes
      echo '<tr>';
      echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
      echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>­';
      echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td&g­­t;';
      echo '</tr>'."\n";
      // lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.
      $i=0;
      while($row = mysql_fetch_array($result)) {
      echo '<tr>';
      echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
      echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
      echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
      echo '<td><input type="checkbox" name="option$i" value="acheter">acheter<br></td>'."\n";
      echo '</tr>'."\n";
      $i = $i +1;
      }

      echo '</table>'."\n";
      echo "<input type='submit' value='Valider' /></form>";

      // fin du tableau.
      }
      else echo 'Pas d\'enregistrements dans cette table...';



      ?>
      0
  10. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    echo "<form action='confirmation.php' method='post'> la aussi sa va pas faut mettre

    echo '<form action="confirmation.php" method="post">';
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      youpi !
      maintenant c'est confirmation.php qui est vide ! je sais que jsuis pas bon, tu peux me lapider si tu veux :)

      <?php

      echo = $_POST["chek1"];
      echo = $_POST["chek2"];

      ?>
      0
  11. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    et avec sa :

    echo "<form action='confirmation.php' method='post'> la aussi sa va pas faut mettre

    echo '<form action="confirmation.php" method="post">';
    0
  12. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    c'est logique lool
    echo = $_POST["option1"];
    echo = $_POST["option2"];
    test avec cela
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      jtavé dis que j'etais un peu debile.
      hé bien meme en changé cela, cela ne fonctionne pas. ecran blanc !
      0
  13. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    et echo = $_POST["acheter"];
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      non :(
      toujours rien. je teste, je bidouille !
      0
  14. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    question bete mais tu coche bien les cases lool
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      alors d'accord je suis nul mais quand meme ... ! Mdr
      0
  15. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    c'est possible de voir ce que cela fait, c'est accessible sur le net?
    0
  16. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    sinon test
    <input type="checkbox" name="acheter" value="acheter">

    et

    echo $_POST["acheter"];
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      heu non , la il me sort sur confirmation.php : "acheter" :)

      0
  17. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    <input type="checkbox" name="acheter" value="acheter"> tu met

    <input type="checkbox" name="'.$row['id'].'" value="acheter">

    le checkbox va t'affiche l'id et avec tu pourra faire une requete qui va affiché id nom email , le check va te servir a faire un autre requete permettant d'afficher les info que tu veu, c'est pas trop clair ce que je raconte lool, je vais devoir partir la mais si tu veu m'envoyer tes pages par mail je peux look ce soir, avec ta base
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      merci crazyspy, moi aussi je dois partir.
      je verai cela demain matin. mes neurones ont trop chauffés aujourd'hui.
      en tout cas, je te remercie de m'avoir aidé a avancer.c'est tres généreux de ta part de faire partager ton experience.
      a demain.
      0
  18. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    ok demain j'y serai aussi
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      mon cher crazyspy,
      me revoila comme promis. je galere toujours autant !!
      je n'arrive toujours pas a recuperer les infos des checkbox chekés !!
      je ne sais pas koi mettre dans mon input et ni dans ma page confirmation.php pour les recuperer.
      je fais donc appel a tes conseils avisés !
      Merci
      PS: et si crazyspy il est pas arrivé, les autres aussi vous pouvez repondre :) !!
      0
  19. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    je suis la moi aussi lool, je vais relire un peu histoire de me remettre dans le bain
    0
  20. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    le mieux serai que tu donne a tes checkbox la valeur de l'identifiant, comme cela tu peux faire une requete qui t'affiche les infos que tu souhaite grace au casse cocher?tu voi un peu se que je veu dire?
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      bonjour,
      non je ne vois pas trop.

      veux tu dire ?


      echo '<td><input type="checkbox" name="'.$row['id'].'" value="acheter">acheter<br></td>'."\n";

      un truc dans le jenre ?
      0
  21. thecrazyspy Messages postés 404 Date d'inscription   Statut Membre Dernière intervention   43
     
    non plutot :
    value="'.$row['id'].'">acheter<br></td>'."\n";

    comme cela ta l'identifiant de ta ligne qui correspond au choix des deux listes, et avec tu fais un requete qui aurra pour condition que l'identifiant soit egale a $_POST["option1"], $_POST["option2"], ....
    0
    1. dubuducu Messages postés 395 Statut Membre 4
       
      bon attention : Freestyle ! je me prépare a dire et a faire n'importe quoi ! EN AVANT !
      dans liste.php, je met :
      ...
      $i=0;
      while($row = mysql_fetch_array($result)) {
      echo '<tr>';
      echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
      echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
      echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
      echo '<td><input type="checkbox" name="option'.$i.'" value="'.$row['id'].'">acheter<br></td>'."\n";
      echo '</tr>'."\n";
      $i = $i +1;
      }
      ...


      dans confirmation.php :
      $c = $_POST['option'.$i.''];

      $sql = "SELECT id,departement,commentaires FROM devis_table WHERE id = '" . $c . "' $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );


      Voila je suis dsl, je m'y connait pas trop bien.je debute juste alors excusez moi pour les erreurs basiques ! Merci de me corriger
      0
  • 1
  • 2
  • 3