Hilfe mit Form und Variablen

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

  • Hilfe mit Form und Variablen

    Hallo,
    um PHP4 zu lernen habe ich mir einige Beispielscripte aus dem Inernet geholt, aber diese funktioneren alle nicht.
    Wenn ich mit submit eine Form absende , mit action=< php script>
    so sind die Variablen im aufgerufenen script unbekannt.
    Beispiel :
    php1.php

    <?php
    $arraydata = array("peru","machu picchu","maca","los incas","greit");

    echo "<form name=\"form\" action=\"pag2.php\" method=\"post\">";
    for ($lo=0;$lo<5;$lo++) {
    echo "<input type=\"hidden\" name=\"opcion[$lo>]\" value=\"$arraydata[$lo]\">";
    }
    echo "<input type=\"submit\" name=\"enviar\">";
    echo "</form>";
    /********************************************/
    ?>

    page2.php

    <?php
    for ($lo=0;$lo<sizeof($opcion);$lo++) {
    echo "word $opcion[$lo]";
    }
    ?>

    [COLOR=crimson]Notice: Undefined variable: opcion in i:\avs-web\pag2.php on line 2[/COLOR]

    Benutze PHP4 und Apache Webserver 1.3

    was ist der Grund ?

    Bin für jede Antwort dankbar


    Gruß

    Toni

  • #2
    holst du dir die Variablen per $_POST?
    Für Rechtschreibfehler übernehme ich keine Haftung!

    Kommentar


    • #3
      Hallo Damian,
      lau ator sollten die beiden Seiten so funktionieren.
      Habe uach schon versucht die variablen mit $_POST[$variable]
      auszugeben, das resultat ist $variable unbekannt.
      Auch andere Scripts aus dem Tutorial funktionieren nicht,
      $PHP_SELF wird auch als unbekannt angemotzt.
      Kann das an der Konfiguration von Apache liegen ?
      Gruß
      Toni

      Kommentar


      • #4
        Re: Hilfe mit Form und Variablen

        Original geschrieben von Toniv
        opcion[$lo>]
        könnte es an dem größer-zeichen liegen?

        die variable heißt ja, so wie du sie nennst nicht opcion[1] sondern opcion[1>]
        mach in der page2.php mal einfach das hier und schau dir an was rauskommt
        PHP-Code:
        <?php
        print_r
        ($_POST);
        ?>
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Wenn du das in deinem Form hast:

          PHP-Code:
          echo "<form name=\"form\" action=\"pag2.php\" method=\"post\">";
          for (
          $lo=0;$lo<5;$lo++) { 
              echo 
          "<input type=\"hidden\" name=\"opcion[$lo>]\" value=\"$arraydata[$lo]\">";
          }
          echo 
          "<input type=\"submit\" name=\"enviar\">";
          echo 
          "</form>"
          dann kommst du so an die Vars ran:

          PHP-Code:
          $opcion[0] = $_POST['opcion[0]']; // EDIT: hatte ci verdreht
          // usw ... 
          Und $PHP_SELF kriegst du ueber $_SERVER['PHP_SELF']

          Und das alles liegt an Register_globals = Off in der php.ini ...

          Und dies wurde wiederrum hier alles schon ca 20 mal erklaert ...

          EDIT:

          In dem Formular oben sieht das opcion[$lo>] mehr nach nem Tippfehler aus, oder?

          Zuletzt geändert von BlobBanana; 18.04.2003, 15:25.

          Kommentar


          • #6
            PHP-Code:
            <?php
            $arraydata 
            = array("peru","machu picchu","maca","los incas","greit");

            echo 
            "<form name=\"form\" action=\"pag2.php\" method=\"post\">";
            for (
            $lo=0;$lo<5;$lo++) { 
            echo 
            "<input type=\"hidden\" name=\"opcion[".$lo."]\" value=\"$arraydata[$lo]\">"// hier hab ich lo ind ".$lo." umgewandelt ;)
            }
            echo 
            "<input type=\"submit\" name=\"enviar\">";
            echo 
            "</form>";
            /********************************************/
            ?>
            so klappt das bei mir vorzüglich!
            Für Rechtschreibfehler übernehme ich keine Haftung!

            Kommentar


            • #7
              klappt vorzüglich, aber nur, weil du nicht das größer-zeichen im "index" von opcion stehen hast oder?
              EDIT:
              @BlobBanana
              türlich, aber wenn er den tippfehler schon im formular drin hat is das doch dem Herrn PHP schnuppe, die variable heißt anders und aus (daher ja auch das print_r($_POST) um zu sehen, was rauskommt)

              Ach ja: $opcion=$_POST['opcion'] reicht völlig um das array rauszuholen

              EDIT:
              sizeof zum zählen stört mein persönliches ästhetisches wohlbefinden, nimm doch lieber count, das is wenigstens kein alias und nicht so missverständlich was die bezeichnung angeht (muss aber nich sein)
              Zuletzt geändert von mrhappiness; 18.04.2003, 15:31.
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                jup, da er durch des größer Zeichen die Variable $lo net erkennt
                Für Rechtschreibfehler übernehme ich keine Haftung!

                Kommentar


                • #9
                  Vielen Dank,

                  werde alles mal probieren,
                  na ja, aller Anfang ist schwer.

                  Mach PHP erst seit Gestern.

                  Mels mich wenns geht.

                  Gruß Toni

                  Kommentar

                  Lädt...
                  X