Partage
  • Partager sur Facebook
  • Partager sur Twitter

foreach qui marche pas

je comprend pas

Sujet résolu
    24 mai 2007 à 17:49:15

    bonjour , j'ai creer un formulaire, et une page qui affiche les données recus .
    dans le code de la page qui recoit les données (la page cible.php si vous préférez) un de mes foreach n'est apparement pas bon (syntaxictement ).
    Voici mon code :

    if (isset($_POST['type'])) // Si le visiteur a coché une case
    {

    // ON FAIT UNE BOUCLE POUR LES TYPES DE PRODUIT
    foreach ($_POST['type'] as $i => $tp)
    // ce foreach ne marche pas
    {
    // SI LIEU=INDIFFERENT
    if( $_POST['lieu'] == 'In' )

    .......


    et voici l'erreur que cela me donne :

    Warning: Invalid argument supplied for foreach() in /mnt/145/sdb/b/8/jhlimmobilier/test/cible.php on line 80

    j'ai pourtant l'impression que ma syntaxe est bonne :s .
    Pouvez vous m'aider ?!
    • Partager sur Facebook
    • Partager sur Twitter
      24 mai 2007 à 17:50:22

      lorsque tu fais un :


      print $_POST['type'];


      ou normalement :


      print_r($_POST['type']);


      tu as quoi ?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        24 mai 2007 à 18:23:47

        On peut envoyer des tableaux pas POST depuis quand ? Une variable = une valeure.
        • Partager sur Facebook
        • Partager sur Twitter
          24 mai 2007 à 18:27:51

          "foreach ($_POST['type'] as $i => $tp)"
          me semble bizard, et puis faudrais savoir ce que contien "$_POST['type']".
          PS: utilise les balises code.
          PPS @bennukem: depuis qu'on a inventé serialize :p
          • Partager sur Facebook
          • Partager sur Twitter
            24 mai 2007 à 18:44:51

            Quel rapport avec serialize ?

            • Partager sur Facebook
            • Partager sur Twitter
              24 mai 2007 à 18:55:24

              Bonsoir :)
              Vu l'erreur renvoyée, je pense que $_POST['type'] n'est pas un tableau.
              Vérifie. Si c'est un array, ça devrait marcher. (foreach parcourt chaque ligne d'un tableau :p )
              En gros fais

              <?php
              echo $_POST['type'];
              ?>

              Si ce qu'il s'affiche est le mot "Array", c'est bien un tableau et ça devrait marcher ! Si une autre valeur s'affiche, c'est que ce n'est pas un tableau.
              :) Bonne soirée.
              • Partager sur Facebook
              • Partager sur Twitter
                24 mai 2007 à 19:45:30

                $_POST['type']; renvoie maison ou appartement ou immeuble , en fait il renvoie la valeur d'un checkbox .
                • Partager sur Facebook
                • Partager sur Twitter
                  24 mai 2007 à 20:03:18

                  Citation : strucky

                  Quel rapport avec serialize ?


                  serialize sert bien à linéariser des données tel que des tableaux non ?! :euh:
                  Armol: bien évidement que ca ne marche pas dans ce cas là :p foreach est utilisé sur les tableaux, hors ici ta donnée ne semble pas être un tableau.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 mai 2007 à 20:33:01

                    if (isset($_POST['type'])) // Si le visiteur a choisi une couleur
                    {

                    // ON FAIT UNE BOUCLE POUR LES TYPES DE PRODUIT
                    foreach ($_POST['type'] as $i => $tp) // ce foreach ne marche pas

                    ²/!§$%§§!!??? o_O:o:euh:;):D
                    Depuis quand on utilise une variable de type post pour afficher les clés de l'array?
                    Est tu sur que ta variable $_POST['type'] soit égal à un array()?
                    Ne serais ce pas les données récupérer par formulaire entre autre la couleur que le visiteur choisit?
                    Que veut tu faire?
                    Pourkoi un foreach?

                    Pose toi les bonnes questions ^^
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 mai 2007 à 21:01:31

                      Citation : peofofo

                      Depuis quand on utilise une variable de type post pour afficher les clés de l'array?



                      Je vois pas ce qu'il y a d'incorrect :euh:
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 mai 2007 à 9:56:08

                        bon alors vu que je comprend pas tout (c'est gentil de m'aider d'ailleurs ) je vais expliquer un peu plus ce que je fais ^^ !

                        en fait j'ai fait plusieurs input type = checkbox dans mon formulaire:4 checkbox avec des value différents et a tous les checkbox name="type" et je voudrais exploiter toutes les cases cochées..."


                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 mai 2007 à 10:18:25

                          remplace name="type" (Si t'as 4 checkbox avec ce nom, alors elles vont s'écraser les unes les autres...) par name="type[]", qui te donnera effectivement un tableau en sortie (Sisi, $_POST peut contenir des tableaux... ;) )

                          <input type="checkbox" name="type[]" value="case_1" />
                          <input type="checkbox" name="type[]" value="autre_case" />
                          <input type="checkbox" name="type[]" value="case3" />
                          <input type="checkbox" name="type[]" value="quatrieme_valeur" />


                          foreach ($_POST['type'] as $valeur){
                              echo $valeur.'<br />';
                          }


                          Résultat :

                          case_1
                          autre_case
                          quatrieme_valeur

                          (Si toutes les cases sauf la 3ème sont cochées)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            25 mai 2007 à 10:33:53

                            Merci beaucoup Veldryn mon foreach marche enfin (meme si ca bloque ailleurs mais ca c'est pas grave ^^) !!
                            • Partager sur Facebook
                            • Partager sur Twitter

                            foreach qui marche pas

                            × 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