[Variablen] Zugriff durch andre Variable (zusammengesetzter String)

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

  • [Variablen] Zugriff durch andre Variable (zusammengesetzter String)

    Hi erst mal.
    Also das Problem ist schwer zu beschreiben.

    Ich will also folgendes.
    Es soll ein bestimmte Anzahl an Formularen erscheinen, die Anzahl wird vom User am Anfang festgelegt.
    Dann sollen diese erscheinen und die Formulardaten abgeschickt werden.
    Im nächsten Schritt will ich sie dann wieder verarbeiten (in diesem Fall ausgeben).

    Nun möchte ich wissen, ob ich so etwas überhaupt möglich ist und, wenn ja, wie man es so etwas realisieren kann.

    Das hier war nun mein erster Versuch.
    PHP Code:
    <?php
        
    if ((!isset($anzahl_post)) && (!isset($eingabe_post)) )
        {
        echo 
    ' <form action="form_test.php" method=post> ' ;
            echo 
    "<table>"
            echo 
    "<tr>";
                echo 
    "<td>Anzahl </td>";
                echo 
    '<td><input type=text name="anzahl" size="3" maxlenght="3"></td>';
            echo 
    "</tr>"
            echo 
    "</table>";
            echo 
    '<input type=submit name="anzahl_post" value="senden">'
        echo 
    "</form>";
        }

        if ( (!isset(
    $eingabe_post)) && (isset($anzahl_post)) )
        { 
            echo 
    ' <form action="form_test.php" method=post> '
            for (
    $i=1;$i<=$anzahl;$i++)
            {
                
    form_anz($i);
            }
            echo 
    '<input type=hidden name="anzahl" value="'.$anzahl.'"> ';
            echo 
    '<input type=submit name="eingabe_post" value="senden">';  
            echo 
    "</form>"
        }

        if (isset(
    $eingabe_post))
        {
            for (
    $i=1;$i<=$anzahl;$i++)
            {
                
    $sin '$test_'.$i;  // Der Code hier funktioniert nicht er gibt nur $test_1,test_2,... aus
                     //auch wenn ich statt dessen $$sin= '$test_'.$i; mache,  und die Ausgabe unverändert lasse
                    //dann gibt er überhaupt nichts aus
                    //mach nun bei beiden ausdrücken $$ dann gibt er wieder das gleiche aus wie bei diesem hier aus

                            
    echo "test $i = ".$sin." <br> "//
            
    }
            echo 
    "$anzahl <br>";//funktioniert
            
    echo "$test_1 <br>";//funktioniert
        
    }

        function 
    form_anz($nr)
        {
            echo 
    "<table>"
            echo 
    "<tr>";
                echo 
    "<td>Test ".$nr."</td>"
                echo 
    '<td><input type=text name="test_'.$nr.'"size="30" maxlenght="30"></td>';
            echo 
    "</tr>";  
            echo 
    "</table>";
        }
    ?>

    Problem gelöst ich hab nur
    PHP Code:
    <?php
    eval("\$sin = \$test_$i;");
    ?>
    statt
    PHP Code:
    $sin '$test_'.$i
    genommen.
    Last edited by noscapin; 16-11-2005, 14:36.

  • #2
    Der obere Teil sieht ja ganz gut aus*, aber den unteren würde ich eher so umsetzen:
    PHP Code:
    if (isset($eingabe_post)) {
        for (
    $i=1$i<=$anzahl$i++)
            echo 
    "test $i = {$test[$i]}<br>";
        echo 
    "$anzahl <br>";//funktioniert
    }

    function 
    form_anz($nr) {
        echo 
    '<table><tr><td>Test '.$nr.'</td><td>'
        echo 
    '<input type=text name="test['.$nr.']" size="30" maxlenght="30">';
        echo 
    '</td></tr></table>';

    * Du solltest dir auf http://php.net/string unbedingt mal den Unterschied zwischen ' und " klarmachen.
    Last edited by onemorenerd; 16-11-2005, 14:42.

    Comment


    • #3
      edit: falsch verstanden
      Last edited by Spliffster; 16-11-2005, 14:42.

      Comment

      Working...
      X