for-schleife und if-bedingungen mit Denkfehler..?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • for-schleife und if-bedingungen mit Denkfehler..?

    hallo

    PHP-Code:
    $i=1;
        for (
    $i=1$i<65$i++){
        if (isset(
    $_POST[$i]) && !isset($f_1)) $f_1 $i;
        if (isset(
    $_POST[$i]) && !isset($f_2) && isset($f_1)) $f_2 $i;
        if (isset(
    $_POST[$i]) && !isset($f_3) && isset($f_1) && isset($f_2)) $f_3 $i;    
        if (isset(
    $_POST[$i]) && !isset($f_4) && isset($f_1) && isset($f_2) && isset($f_3)) $f_4 $i;    
        if (isset(
    $_POST[$i]) && !isset($f_5) && isset($f_1) && isset($f_2) && isset($f_3) && isset($f_4)) $f_5 $i;
        if (isset(
    $_POST[$i]) && !isset($f_6) && isset($f_1) && isset($f_2) && isset($f_3) && isset($f_4) && isset($f_5)) $f_6 $i;
        if (isset(
    $_POST[$i]) && isset($f6)) echo 'Fehler: Es wurden zu viele Felder ausgefüllt';
        } 
    in der schleife soll überprüft werden, ob $_POST -werte gesetzt sind. anschließend sollen die werte nacheinander 6 vars zugeordnet werden, abhängig davon, ob die vorherigen werte schon gesetzt sind oder nicht.
    nur werden dummerweise allen vars der wert der ersten var ($f_1) zugeordnet.

    ich hab verzweifelt versucht, den logischen fehler zu funden, aber ich hab wohl pflanzenteile uf den augen....
    wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

  • #2
    meiner meinung is die struktur auch nich richtig.
    entweder so:

    if(...)
    $f_1 = $i;

    oder

    if(...){ $f_1 = $i; }

    wobei ich von beiden varianten nicht viel halte.

    Kommentar


    • #3
      Re: for-schleife und if-bedingungen mit Denkfehler..?

      nehmen wir den ersten teil der bedingungen mal als gültig an, isset($_POST[$i]) - sonst würde ja gar nicht passieren.

      was bleibt dann noch?

      !isset($f_1)) $f_1 = $i;
      !isset($f_2) && isset($f_1)) $f_2 = $i;
      !isset($f_3) && isset($f_1) && isset($f_2)) $f_3 = $i;
      !isset($f_4) && isset($f_1) && isset($f_2) && isset($f_3)) $f_4 = $i;

      die bedingung wird also in jeder weiteren zeile um eine gesetzt-abfrage für eben die var erweitert, die in der zeile davor einen wert zugewiesen bekommen hat - welcher sinn soll da hinter stecken?

      und der einzige wert, den du überhaupt zuweist, ist der wert der zählvariablen $i - also doch wohl logisch, dass alle $f_-vars nachher den selben wert haben, oder?


      alles in allem mal wieder ein typischer Cannabeatfan-code.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        welcher sinn soll da hinter stecken?
        der user soll auf der vorher kommenden seite 6 von 64 feldern, die jedes eine nummer als namen haben, auswählen. es werden also werte a'la $_POST[1] = 'set', $_POST[25]='set' usw. übergeben.

        im script soll überprüft werden, welche werte überhaupt gesetzt sind (max 6 sollen es sein). diese werte werden dann zur weiteren verarbeitung in die vars $f_[1-6] geschrieben, da sie aritmetisch überprüft werden sollen.

        also doch wohl logisch, dass alle $f_-vars
        nachher den selben wert haben, oder?
        ....für mich nicht unbedingt, die bedingungen verhindern doch, das eine var 2-mal zugewiesen wird (sollten sie jedenfalls).
        oder bin ich auf dem völlig falschen weg?
        wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

        Kommentar


        • #5
          Also entweder verstehe ich nicht was Du wirklich willst, oder Du hast einen gewaltigen Denkfehler.

          Du weist Deiner Variable den Wert Deines Schleifenzählers zu ($i), in Abhängigkeit, ob sie gesetzt ist. Ist das gewollt?

          Außerdem hast Du in der letzten Abfrage die Variable $f_6 falsch geschrieben, oder?

          Würdest Du sie allerdings richtig schreiben würdest Du 64 Fehlermeldungen bekommen :-))))

          Formulier am besten noch mal genauer, was Du willst und wie die Umgebung aussieht, damit wir Dir helfen können...
          webdesign

          Kommentar


          • #6
            oh, war wohl etwas langsam :-)
            webdesign

            Kommentar


            • #7
              Probiere er bitte das hier:

              PHP-Code:
              $anz=0;
              for(
              $i=1$i<65$i++) {
                if(
              $isset($_POST["$i"])) {
                  if(
              $anz<6) {
                    
              $f[$anz++] = $i;
                  }
                  else {
                    echo 
              "Fehlermeldung";
                  }
                }

              Danach stehen Deine Variablen allerdings im Array $f. Das halte ich aber für praktischer.
              webdesign

              Kommentar


              • #8
                Original geschrieben von Cannabeatfan
                der user soll auf der vorher kommenden seite 6 von 64 feldern, die jedes eine nummer als namen haben, auswählen. es werden also werte a'la $_POST[1] = 'set', $_POST[25]='set' usw. übergeben.
                abgesehen davon, dass eine nummer als name m.W. nicht zulässig ist (muss mit einem buchstaben beginnen) - warum hältst du dich nicht einfach an die bewährte array-schreibweise?

                name="sixtyfourfields[]"

                benenne alle 64 felder mit diesem namen.

                dann bekommst du in $_POST['sixtyfourfields'] ein array zurückgeliefert.

                ob dieses jetzt genau 6 werte beinhaltet, hast du mit count() im nu überprüft.

                diese werte werden dann zur weiteren verarbeitung in die vars $f_[1-6] geschrieben, da sie aritmetisch überprüft werden sollen.
                mit obiger schreibweise kannst du ganz leicht auch so auf $_POST['sixtyfourfields'][0] bis $_POST['sixtyfourfields'][5] zugreifen.


                dagegen erscheint mir deine methode doch weitaus umständlicher ... dir nicht?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  @Hattori Hanzo
                  danke, das ist perfekt

                  @wahsaga
                  alles in allem mal wieder ein typischer Cannabeatfan-code.
                  wie meinen? ich bin kein profi und stelle auch nicht unbedingt den anspruch einer zu werden. ich bin aber immer bereit, zu lernen und mich zu verbessern.
                  mag sein, meine fehler mögen dir lächerlich erscheinen, mögl. sieht es auch aus, als mache ich mir keinerlei gedanken....aber so ist es nicht
                  wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

                  Kommentar


                  • #10
                    Original geschrieben von Cannabeatfan
                    mögl. sieht es auch aus, als mache ich mir keinerlei gedanken....
                    nein nein, das meinte ich damit nicht - du denkst nur noch viel zu sehr um die ecke, und zu kompliziert.

                    nachdem du dir meinen vorschlag im vorherigen posting durchgelesen hast, wirst du mir da zustimmen, denke ich.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      nachdem du dir meinen vorschlag im vorherigen posting durchgelesen hast, wirst du mir da zustimmen, denke ich.
                      da denkst du richtig.
                      thx
                      wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

                      Kommentar

                      Lädt...
                      X