Hilfe mit dynamisch generierten Variablen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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.

      Comment


      • #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

        Comment


        • #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

          Comment


          • #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

            Comment


            • #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

              Comment


              • #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

                Comment


                • #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

                  Comment

                  Working...
                  X