Formular mit vielen Variablen

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

  • Formular mit vielen Variablen

    Hallo,

    stehe vor einem (für mich) mittelgroßen Problem mit nem Formular und den Variablen. Habe ein Formular mit vielen Variablen, welches komplett in einer Funktion ist. Da "register globals off" ist, muss ich, wenn ich nun die Daten abschicke, ja über $_GET["varname"] auf die einzelnen Variablen zugreifen. Da ich die Variablen per Parameter an die Funktion übergebe, hätte ich nun eine ellenlange Parameterliste. Alternativ dazu ist mir noch die Möglichkeit eingefallen, direkt zu Beginn des Skriptes die Variablen alle in einem Array zu speichern (z.B. $daten["varname"] = $_GET["varname"]). Das wiederum ist auch viel Arbeit. Nun die Frage. Gibt es nicht eine einfache Möglichkeit, die Variablen im Formular direkt in ein Array zu speichern (sowas wie <input type="text" name="daten["varname"]> oder ähnliches ... hoffe, mein Ansinnen kommt da raus) oder sonstwie vor dem Absenden in ein Array zu bekommen? Falls das möglich sein sollte, müsste ich noch wissen, wie mein ein Array über $_GET anspricht.

    Danke schonmal

    Le Cheffe

  • #2
    Nur mal so 'ne Idee ... $_GET ist ja eigentlich schon ein Array ... $_POST auch ... und $_REQUEST auch ... warum meinst Du die Variablen jetzt von einem Array in ein anderes übertragen zu müssen ... ??
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Re: Formular mit vielen Variablen

      Original geschrieben von Le_Cheffe
      Da ich die Variablen per Parameter an die Funktion übergebe, hätte ich nun eine ellenlange Parameterliste.
      goth hat recht - da die genannten arrays superglobal sind, brauchst du sie doch gar nicht an die funktion übergeben - sie stehen auch so schon innerhalb der funktion zur verfügung.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Hi !

        Da habe ich mich wohl ein wenig schlecht ausgedrückt. Das folgende steht in der Datei index.php ...

        PHP-Code:

        <?php

        (*1)

        function 
        daten_sammeln($daten) (*2)
        {
        <
        form action="index.php">
        Name
        <input name="nachname" size="50" maxlength="100" value="' . $dvd_datensatz["nachname"] . '">

        (
        hier noch viele input Felder hindenken)

        <
        input name="gesendet" value="1">
        <
        input type="Submit" value="Abschicken">
        </
        form>

        }

        //---//

        // hier prüfen, ob Daten vollständig
        // wenn vollständig, dann Variable $komplett = 1 setzen

        if (!isset($_GET["gesendet"]) or ($komplett != 1))
        {
           
        daten_sammeln(&$daten);
        } else {
           
        // Daten auswerten //
        }

        }

        ?>
        So ähnlich sieht das bei mir aus. Nun ist mein Problem, dass ich eben viele Variablen habe, so dass mir bisher 2 relativ aufwendige Möglichkeiten eingefallen sind, wie ich es schaffe, alle Formulardaten in das Array zu bekommen bzw. alle einzelnen Variablen in die Funktion zu bekommen.
        1. Bei Stelle (*1) alle Variablen einzeln mittels $daten["varname"] = $_GET["varname"] übergeben oder
        2. an Stelle (*2) alle Variablen als Parameter der Funktion übergeben.

        Bevor ihr jetzt glaubt, ich habe das mit den superglobals nicht verstanden, will ich das auch noch aufklären. Da es etliche Funktionen in meinem Programm geben wird, hätte ich eben gerne, dass die einzelnen Variablen als Parameter auftauchen, sonst gibt mir das zuviel Unordnung.

        Gruß und Dank

        Le Cheffe

        Kommentar


        • #5
          öhmm...

          wie wäre es wenn du die alle Variablen/Arrays als global in die Funktion setzt?! somit hast du doch was du möchtest: Alle Variablen $_Get usw. können in der Funktion genutzt werden.

          PHP-Code:
          function daten_sammeln($daten) (*2)
          {
          global 
          $_GET,$var,$sonstige;

            echo 
          "<form action=\"index.php\">";
            
          // weitere Ausgaben hier 
          Nun kannst du alle $_GET, $var[], $sonstige[] in der Funktion benützen wie du willst?!
          (wobei ich glaube, dass du GET Variablen nicht global deklarieren musst, da sie in der URL stehen - bin mir aber dessen nicht sicher, sodass dus einfach mal testen müsstest)

          cya CrazyPip

          Kommentar

          Lädt...
          X