Ankündigung

Einklappen
Keine Ankündigung bisher.

$counter++ Erhöhung funktioniert nicht :/

Einklappen

Neue Werbung 2019

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

  • $counter++ Erhöhung funktioniert nicht :/

    Hallo

    Mein Problem:
    Der global counter wird nicht höher gesetzt.

    Hier die gesamte Quelle:
    http://nopaste.php-q.net/168126

    $counter wurde in der Zeile 17 initialisiert.

    In der Zeile 426 wird $counter erhöht. Und genau das funktioniert nicht !

    Mein Vorhaben:
    Die in der Zeile 135 generierte HTML Seite liefert eine Frage mit dazugehörigen Antworten. Die Anzahl der Antworten (Checkboxen) wird durch die Variable $anzahl_antworten auf weiter gegeben.
    Ab der Zeile 399 werden die Checkboxen überprüft.

    $counter_intern = $_REQUEST['anzahl_antworten'];

    Wenn alle checkboxen EINER FRAGE unmarkiert bleiben, bleibt der $counter_intern gleich anzahl_antworten. Daher weiss ich, dass der User einfach auf weiter Button gedrückt hat, ohne sich für eine Antwort zu entscheiden. s.h. 424

    Thx im Voraus
    Aaron

  • #2
    kannste net das rauskopieren was relevant ist, gelkürzt auf 10 Zeilen? habe keine Lust 500 Zeilen Code durchzuschauen, und glaub sonst auch niemand :wink:

    Kommentar


    • #3
      must ja auch ned jeder Browser hat ne Suchen funktion (strg + f) sind ingesammt nur 2 Fundestellen für $counter++

      Code:
      while($row = mysql_fetch_assoc($result)) {
                  if($row['wahrheit']=='0') {
                      $counter++;
                  }
      }//Ende while
      und

      Code:
      if($counter_intern == $_REQUEST['anzahl_antworten']) {
                      global $counter;
                      $counter++;
                      echo "
      global counter: ".$counter."
      ";
      }

      Anstatt $_REQUEST würde ich $_POST oder $_GET verwenden jenachdem welche Mehtode du verwendest aber ansonsten siehts von der Codeseite her ok aus.
      Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

      Kommentar


      • #4
        Hi..

        Wie HStev bereits gepostet hat:
        Hier wird der counter hoch gezählt.

        PHP-Code:
        <?php
        if($counter_intern == $_REQUEST['anzahl_antworten']) {
                        global 
        $counter;
                        
        $counter++;
                        echo 
        "
        global counter: "
        .$counter."
        "
        ;
        }
        ?>
        @havok: Da der counter durch das Programm springt, habe ich gleich die gesamte Quelle gepostet und auf die jeweiligen Zeilen verwiesen.
        Kann mir nämlich nicht vorstellen, dass jemand mit so wenig Code etwas anfangen kann.

        Gruß
        Aaron

        Kommentar


        • #5
          wie gesagt nimm mal $_POST oder $_GET ich weiß leider nicht was du verwendest
          Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

          Kommentar


          • #6
            Globale Variablen machen nur Ärger, probiers ohne zu lösen.

            Kommentar


            • #7
              @HStev: Ich kanns umstellen.. aber nur mal unter uns.. was hast du gegen REQUEST ?

              Kann es sein, dass der $counter in der Zeile 17 immer wieder auf 0 gesetzt wird und ich daher nur einmal die Zahl erhöht bekomme ?

              Falls ja.. welche Möglichkeiten habe ich, um die Variable $counter zu sichern. Tabelle finde ich etwas übertrieben. Externe Datei nervig

              Gruß
              Aaron

              Kommentar


              • #8
                $_REQUEST benutzt man nicht mehr
                Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

                Kommentar


                • #9
                  @Zergling: sorry falls ich jetzt nur Müll schreiben sollte..
                  Ich war der Meinung, dass es sich hierbei nicht um eine globale Variable handelt.
                  In der Zeile 17 habe ich die Variable $counter=0; initialisiert.
                  global counter habe ich mit z.b. this.counter gleich gesetzt. mit global sage ich nur, dass es sich hier um die Variable in der Zeile 17 handelt.

                  Gruß
                  Aaron

                  @HStev.. ok

                  Kommentar


                  • #10
                    Ja ich hatte es falsch formuliert. Ich meinte damit, dass man auf Lösungen mit "global" innerhalb von Funktionen verzichten sollte, sondern Variablen von außerhalb besser als Argument mit an die Funktion übergeben sollte. Das ist sauberer, übersichtlicher und weniger fehleranfällig.

                    Kommentar


                    • #11
                      ok.. habs ..

                      Lag daran, dass der counter immer wieder auf 0 gesetzt wurde.
                      Lösung: Counterstand in der DB sichern.

                      Gruß und thx
                      Aaron

                      Kommentar

                      Lädt...
                      X