Variable Problem?

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

  • Variable Problem?

    Hallo.

    Ich hab mir ein Script geschrieben (also einmal damit angefangen), wo man games für meinen quizbot erstellen kann.

    ich hab das folgendermaßen gemacht:

    PHP-Code:
    <html>
    Wieviele Fragen wollen Sie erstellen?
    <form action="<?php echo $PHP_SELF?>" method="post">
    <input type="text" name="anzahl">
    <input type="submit" name="sub" value="Enter"></form>
    </html>

    <?
    if($sub)
    {
    $max = 25;
    $wert = $anzahl;
      if($wert > $max)
      {
       echo "Maximal 25!";
      }
      if($wert <= $max)
      {
      echo "<form action='$PHP_SELF' method='post'>";
      for($anzahl2 = 0; $anzahl2 < $wert; $anzahl2++)
      {
        echo "<input type=\"text\" name=\"frage[$anzahl2]\" >";
        echo "<input type=\"text\" name=\"antwort[$anzahl2]\" ><br>";
      }
       echo "<input type=\"submit\" name=\"sub2\" value=\"Enter\"></form>";
    }
    }
         if($sub2)
         {
          for ($i = 0; $i <= $wert; $i++)
          {
           echo $frage[$i];
           echo $antwort[$i];
          }
         }
    ?>
    allerdings habe ich ein problem:
    wenn ich jetzt die fragen eingebe .. und sie dann wie am schluss ausgeben will, wird nur die erste frage angezeigt.

    ich glaube das problem ist, dass die variable ($wert) nur innerhalb der if($sub) anweisung gespeichert wird.

    weil wenn ich nach if($sub2) --> echo $wert; mach, gibt er mir nichts zurück, daher gibt er auch nur eine frage aus, weil $i = 0 und da $wert nicht vorhanden ist, zählt er nicht weiter rauf und bleibt auf 0.

    mfg

  • #2
    dein $sub bezieht sich auf den submit button. wenn dieser gedrückt wird, ist die variable gesetzt. wir sub2 gedrückt, ist $sub2 gedrückt und sub wird nicht durchlaufen.

    Schau dir auch mal bitte grundlegendes zum Thema "register_globals" an!
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      hi

      ja das weiß ich schon nur wie kann ich das ändern.
      register_globals ist bei mir on...also müsste es doch so in etwa funktionieren.
      kannst du mir vl meinen fehler ausbessern?

      mfg

      Kommentar


      • #4
        Dein Problem ist das $wert bei der zweiten for Schleife nicht gesetzt ist.

        Kommentar


        • #5
          wie ich schon schrieb:


          wenn du den 2. submit button drückst, ergibt if($sub) false, die schleife wird nicht durchlaufen und somit ist, wie schnoop schon sagte, die variable nicht gesetzt...
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar


          • #6
            versuchs doch mal indem du
            $max = 25;
            $wert = $anzahl;
            außerhalb des if's machst

            PS: Warum weist du überhaupt der variable $wert den inhalt von $anzahl zu? kannst du nicht gleich mit $anzahl arbeiten?
            Zuletzt geändert von Zeroskill; 05.04.2005, 23:17.
            Nicht der,
            der ständig Fragen stellt ist dumm,
            sondern der,
            der nichts gegen seine Unwissenheit tut.

            Kommentar


            • #7
              eigentlich gibt es $anzahl ja auch nicht wirklich .... es gibt nur $_POST['anzahl'] wenn das formular abgesendet wurde.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar

              Lädt...
              X