Formular richtig auslesen

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

  • Formular richtig auslesen

    Hallo,

    ich habe einen Fragebogen programmiert. Dieser soll per POST Werte übergeben. Die übergebenen Variablen sollen folgendermaßen durchnummeriert werden:

    <input type='radio' name='input<?php echo $input_num ?>' value='5'>

    wobei $input_num natürlich hochgezählt wird.

    Das funktioniert soweit auch (z.B. echo $input17), nur weiß ich nicht, wie ich die Variablen in einer Schleife abfragen soll...
    Sowas wie
    PHP-Code:
    for ($i=1$i<=45$i++) {
        
    $input='$input'.$i;
        echo 
    'Input: '.$input;

    funktioniert natürlich nicht, weil $input dann ein String ist und somit beispielsweise einfach nur "Input: $input17" ausgegeben wird.

    Wie kann ich am besten die Variablen abfragen??
    Schonmal danke im Voraus!!

  • #2
    schreibe einfach ...
    Code:
    <input type='radio' name='input[]' value='5'>
    ... und schaue, was du nun im $_POST array hast. ;-)
    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


    • #3
      Für deine Lösung:
      http://php.net/language.variables.variable

      Für eine bessere Lösung:
      http://php.net/language.variables.external
      (da ist ein Beispiel für komplexere Formular-Variablen, das kannst du für dich anpassen)
      hopka.net!

      Kommentar


      • #4
        Danke erstmal, aber diese Lösung fällt leider aus, da der Fragebogen aus Fragen mit mehreren Antwortmöglichkeiten besteht (sonst wär's ja auch keiner ) .
        Ich möchte, dass bei einer Frage auch nur eine Variable verwendet wird, bei der obigen Lösung hätte ich aber alleine bei einer Frage schon mehrere Variablen, und somit müsste ich das dann später wieder auseinanderfriemeln (Frage 1 = input[0] bis input[3] and so on).
        Das ist mir zu stressig.
        Anders sollte es doch auch irgendwie gehen, oder?

        Kommentar


        • #5
          Thanks, so geht's:
          PHP-Code:
          for ($i=1$i<=45$i++) {
              
          $_temp="input$i";
              
          $input=${$_temp};
              echo 
          "<br>Input: ".$input;
          //for 

          Kommentar


          • #6
            Original geschrieben von thkolz
            Ich möchte, dass bei einer Frage auch nur eine Variable verwendet wird
            Und wie viele Variablen hast du jetzt?
            Auf jeden Fall mehr als eine.

            Und das "auseinanderfriemeln" von input[0] usw. ist mit Sicherheit viel einfacher als es mit input0 ... input3 usw. ist.

            Übrigens solltest du dir mal ein paar PHP-Grundlagen aneignen (So die ersten paar Kapitel im Manual durchlesen bis da, wo die Funktionsreferenz beginnt) - dann findest du bestimmt eine bessere Lösung als du jetzt verwendest. Außerdem wirst du merken, dass deine Schleife viel zu viel tut.
            PHP-Code:
            for ($i=1$i<=45$i++) {
                echo 
            "<br>Input: ".${'input' $i};
            //for 
            hopka.net!

            Kommentar

            Lädt...
            X