Partage
  • Partager sur Facebook
  • Partager sur Twitter

checkboxe

recuperation de donnees dans ma table SQL

Sujet résolu
    3 décembre 2006 à 9:56:36

    Bonjour,
    Je me permets de vous ecrire parce que la vraiment je coince...
    En gros, dans mon site, pour s'inscrire il faut passer via un formulaire.
    Dans ce formulaire il y a des checkboxes:
    I am looking for a :<br />
    <input type="checkbox" name="hours[]"  value="<?php if (isset($_POST['parttime'])) echo stripslashes(htmlentities(trim($_POST['parttime']))); ?>"> Full time nanny<br />
    <input type="checkbox" name="hours[]"  value="<?php if (isset($_POST['fulltime'])) echo stripslashes(htmlentities(trim($_POST['fulltime']))); ?>"> Part time babysitter <br />


    J'essaye recuperer les reponses dans ma bases de donnees!
    $sql = 'INSERT INTO membre VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'" , "'.addslashes($_POST['email']).'" , "'.addslashes($_POST['residence']).'" , "'.addslashes($_POST['phone']).'" ,  "'.addslashes($_POST['hours']).'")';


    Le probleme est qu'il m'ecrit "ARRAY" dans ma base de donnee au lieu de la reponse!(j'ai une case "hours") o_O
    Comment puis-je faire pour qu'il m'ecrive le choix du visiteur? (parttime ou fulltime)

    D'avance merci
    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2006 à 10:04:21

      Dans un chekbox on ne peus pas mettre de value.

      Donc si tu veux faire comme tu veux tu dois faire :


      <input type="checkbox" name="<?php if (isset($_POST['parttime'])) echo stripslashes(htmlentities(trim($_POST['parttime']))); ?>">
      • Partager sur Facebook
      • Partager sur Twitter
        3 décembre 2006 à 10:09:28

        Merci LiNtElEcTuEl, je viens d'essayer ta technique mais le probleme est ... qu'il ne m'ecrit rien dans la base de donnee :-(
        Comment faire pour qu'il m'ecrive le choix du visiteur?
        • Partager sur Facebook
        • Partager sur Twitter
          3 décembre 2006 à 10:14:30

          Bah après faut que tu fasse des conditions.
          Car si le gars coche la case qui a le nom "test" par exemple.

          La variable $_POST['test'] aura comme valeur "on".(Elle a NULL sinon)

          Donc après tu verifie avec des condtion.


          if($_POST['test'] == 'on')
          {
          $var = 'test1';
          }
          else
          {
          $var = 'test2';
          }
          // Là tu met ta requète avec les différente variable
          • Partager sur Facebook
          • Partager sur Twitter
            3 décembre 2006 à 10:25:09

            Bon, j'ai essaye de faire comme tu m'as dit:

                                        if ($_POST['hours'] == 'on'){
                                                $var = 'parttime';
                                            }
                                            else{
                                                 $var = 'fulltime';
                                        }

            et ca marche toujours pas! :(
            Et de toute facon, je fais comment si il choisit les deux options?

            • Partager sur Facebook
            • Partager sur Twitter
              3 décembre 2006 à 10:42:03

              I am looking for a :<br />
              <input type="checkbox" name="hours1"> Full time nanny<br />
              <input type="checkbox" name="hours2"> Part time babysitter <br />

              if($_POST['hours1'] == 'on')
              {
              $hours = $_POST['fulltime'];
              }
              elseif($_POST['hours2'] == 'on')
              {
              $hours$_POST['parttime'];
              }
               $sql = 'INSERT INTO membre VALUES("", "'.addslashes($_POST['login']).'", "'.md5(addslashes($_POST['pass'])).'" , "'.addslashes($_POST['email']).'" , "'.addslashes($_POST['residence']).'" , "'.addslashes($_POST['phone']).'" ,  "'.$hours.'"';


              Voila sa devrait être un truc un peu comme ça ;)

              Je ne sait pas ce que représente $_POST['fulltime'] car j'ai pris par apport à ton code, donc si tu veux changer c'est là :)
              • Partager sur Facebook
              • Partager sur Twitter
                3 décembre 2006 à 11:24:02

                Non ca ne marche pas. Apparemment je me fais mal comprendre.
                Premierement je dois dire que je suis debutant en PHP... Donc je suis sure que c'est une erreur tres tres tres tres simple :-°
                J'ai lu un peu partout, que pour utiliser les checkboxes, il faut utiliser les arrays! et la fonction implode() o_O (m@teo n'en parle pas dans son cours sur le php)
                Je voudrais savoir, comment, (en general) on utilise les checkboxes pour pouvoir envoyer leur valeur dans la database?

                Une fois dans la table de donnee comment faire pour qu'il n'ecrive pas ARRAY mais le choix du visiteur?

                Pourrais-tu me donner un exemple?
                Disons que le visiteur a plusieurs choix?
                Choisissez votre choix:
                choix1
                choix2
                choix3
                Il faudra donc ecrire en html:

                <form action="inscription.php" method="post">
                Choisissez:
                <input type="checkbox" name="choix[]" value="1"> Choix1<br />
                <input type="checkbox" name="choix[]" value="2"> Choix2<br />
                <input type="checkbox" name="choix[]" value="3"> Choix3<br />

                ok, maintenant dans ma table de donnee SQL je cree une partie ou je stocke mes choix que j'appelle "choix"
                Bon en PHP:

                $choix = array($_POST['choix']);
                $choix_array = implode(",", $choix);
                // ma requete SQL
                INSERT INTO monformulaire VALUES ("", ".$choix.", etc etc )


                Bref, ca marche pas dutout, ca fait deux jours que je suis dessus et je m'en sors pas.
                Pourrais-tu juste m'ecrire un exemple simple comment utiliser ces checkboxes, et qu'elles m'ecrivent dans ma table sql le choix du visiteur au lieu de ARRAY?
                merci
                • Partager sur Facebook
                • Partager sur Twitter
                  3 décembre 2006 à 13:52:03

                  Je pense que tu devrais relire les cours de M@t ;)

                  Quans tu utilise une checkbox tu lui donne un nom.(Par ex. choix1).
                  Après si celle-ci est cochée $_POST['choix1'] aura pour valeur on, Si elle n'est pas coché $_POST['choix1'] aura pour valeur NULL.

                  Après peut être confond tu les boutons radio et les checkbox.
                  Tu pense au petit rond comme pour les quizz ou les carrée que l'on coche(car ton explication serait plus pour les radio) ?
                  • Partager sur Facebook
                  • Partager sur Twitter

                  checkboxe

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown