Hilfe mit dynamisch generierten Variablen

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

  • Hilfe mit dynamisch generierten Variablen

    Hallo

    Ich habe gerade ein kleines Problem mit einem Script. Es geht darum, das dynmisch generierte Variablen per Post an eine weitere Seite gesendet werden, und diese dann die Variablen verarbeiten soll (also die Variablen sind die Formnamen). Das Schema ist immer gleich:

    z.B.

    Variable-1
    Variable-2
    Variable-3

    es wird quasi an einen festen String einfach eine Zahl gehängt. Soweit so gut. Selbstverständlich wird zusätzlich die anzahl der Variablen übergeben. Damit weiss das verarbeitende Script also wie viele Variablen es gibt, und nach welchem Schema diese verarbeitet werden sollen. Das Problem ist aber, daß ich den Inhalt der Variablen nicht mehr auslesen kann. Kleines Beispiel zum Verständniss meines Problems:

    1. Script:

    PHP-Code:
    <?php

    $counter
    =0;
    while (
    $counter !=10)

    {
    $tempvar="Ichbintemp-"$counter;
    echo 
    "<input type=\"text\" name="\$tempvar\">;
    $counter++;
    }
    echo "
    <input type=\"hidden\" name=\"totalentrys\" value=\"$counter\">;
    ?>
    2. Script:

    PHP-Code:
    <?php

    $counter
    =0;
    while (
    $counter != $totalentrys)

    {
    echo 
    "ichbintemp-"$counter"<br>";
    $counter++;
    }
    ?>
    Also, das zweite script sollte eigentlich nun alle Textinhalte anzeigen. Tut es aber nicht, weil ich die Variable nicht ansprechen kann. Kann ich das trotzdem irgendwie machen ? Also eine Variable irgendwie definieren damit das geht ? Ich hoffe es ist verständlich was ich meine - wenn nicht, einfach sagen

    Gruss
    Glow

  • #2
    da sind schon zwei Fehler drin
    PHP-Code:
    $tempvar="Ichbintemp-".$counter;
    echo 
    "<input type=\"text\" name=\"$tempvar\">"
    und die lösung deines problems sieht so aus (hoffe ich):
    PHP-Code:
    echo $_POST["ichbintemp-".$counter]."<br>"
    ungetestet.
    gruss
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      du kannst den Namen deines Feldes auch als Array angeben - damit sparst du dir den Counter ...
      <input ... name="temp[]">

      mit foreach kannst du dann $_POST['temp'] abarbeiten.

      Kommentar


      • #4
        Hi

        Zuerstmal danke für die Antworten. Aber irgendwie scheint das nicht zu funktionieren. Mit dem $_POST befehl funktioniert es auch nicht. Die dadurch erzeugte Variable ist irgendwie leer. Also beim echo Befehl wird nichts angezeigt. Wenn ich bei der zweiten Seite jetzt aber schreibe:

        echo $ichbintemp-0;

        dann wird der Inhalt korrekt angegeben. Irgendwie steh ich grad voll aufm Schlauch

        Gruss
        Glow

        Kommentar


        • #5
          echo $ichbintemp-0;
          dann probier mal
          PHP-Code:
          echo ${"ichbintemp-".$counter
          gruss
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Hehe...du trägst deinen Usertitel zu recht Funktioniert nun super - Vielen Dank. Ich hab übrigens auch gerade rausgefunden warum $_POST nicht funktioniert: Der Befehl wurde erst mit V4.2 implementiert - ich hab noch V4.0.x laufen Mit $HTTP_POST_VARS funktioniert es bei mir auch. Aber deine Variante gefällt mir besser
            Nochmals Thx.

            Gruss
            Glow

            Kommentar


            • #7
              ich hab noch V4.0.x laufen
              da sollte aber schnellsten mal ein update her, ich kenne keinen provider, der noch sowas altes anbietet.

              gruss
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Oh...naja, momentan läuft das ganze auf einem privaten Server. Wenn ich mal online gehe, dann bräuchte ich sowieso einen Dedizierten Server, von daher wäre es eigentlich kein Problem die "alte" Version weiter zu benutzen. Ich müsste mal testen wie sich meine Scripte auf den neueren Version verhalten...

                Gruss
                Glow

                Kommentar


                • #9
                  Ich müsste mal testen wie sich meine Scripte auf den neueren Version verhalten...
                  dann schau dich schon mal im forum unter dem stichwort register_globals um.

                  gruss
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar

                  Lädt...
                  X