PHP: Alle importierten Variablen durch Funktion 'schicken'?

  • Hallo Leutz,


    ich stehe vor dem Problem, dass ich per import_request_variables einige Sachen in eine php-Datei einlesen lasse.


    Jetzt möchte ich nicht für jede Variable ein z.B.


    $form_variable1 = stripslashes($form_variable1);
    $form_variable2 = stripslashes($form_variable2);


    einfügen müssen, sondern dies automatisch erledigen lassen.


    Hat jemand eine Idee?


    Danke schonmal - 3dc

  • Hi!


    Ich hab zwar von PHP nicht wirklich viel Ahnung, aber meine kleine Anregung hilft vielleicht:
    Wenn PHP Arrays unterstützt, kannst Du die Variablen ja dort rein schreiben und nur einmal die Funktion aufrufen. Und als Übergabeparameter für die Funktion gibst Du halt das Array an.



    ______
    Thomas

  • Jep, schonmal nicht schlecht gedacht; Arrays gibts auch ;-) Das Problem ist jedoch, dass die Variablennamen nicht wie in dem Beispiel mit fortlaufender Nummer 'erstellt' werden, sondern sozusagen beschreibende Namen haben, also alle unterschiedlich sind. Das einzige was die "importierten" Variablen gemeinsam haben ist das Prefix, also z.B. $form_xyz und $form_abc.
    Ausserdem möchte ich das ja für alle importierten Variablen machen lassen und nicht manuell irgendwo einzeln eintragen müssen.


    Danke aber trotzdem - 3dc.

  • IMHO vergiss import_reqeust_variables und arbeite mit den globalen Arrays


    $_POST und $_GET
    bzw. $_REQUEST


    Das Array kannst du dann wie folgt aufzählen:

    Code
    if (isset($avar) && is_array($avar)) {
    foreach ($avar as $k => $v) {
    printf("k=%s v=%s<br>\n", $k, $v);
    }
    }


    Wenn du nachher im script die Dinger unbedingt direkt als variable ansprechen willst, dann kannst du das ja über $$k=$v setzen.


    Falls es um speziellere Validierung bei Formularverarbeitung geht, würde ich dir auch empfehlen dir mal OOHForms-Klasse aus der phplib anzuschauen. Das Ding ist zwar schon recht alt (und erwartet auch noch register_globals on), aber es nimmt einem ggf ja nach Aufgabe viel Arbeit ab und lässt den Code lesbarer werden.

  • hmm ... du hast also lauter variablen der Form $form_blabla und du möchtest diese nun in PHP-Variablen umwandeln oder? Das möglichst automatisiert...


    Mal ein Denkansatz: Geh das zurückgegebene Stringarray Schritt-für-Schritt durch, in der Schleife weißt du einer Variable bla den Wert strings aus dem Array zu (also der Variablenname) ...
    bla enthält nun den Stringnamen ... um aus diesem String nun eine Variable zu machen, versuch mal noch ein $-Zeichen vor bla zu stellen ...
    sollte dann $$bla sein, versuch als nächstes dem $$bla den Wert aus dem Stringarray zuzuordnen (das es ja um importierte Variablen geht, müsste in dem zurückgegebenen Stringarray oder auch String, jeweils der Variablenname und der Variablenwert durch irgendein Trennzeichen getrennt abgelegt sein)...
    Versuch nun ein "echo "$form_variablexyz" und schau ob es nun eine PHP-Variable mit dem Namen $form_variablexyz und dem Wert der importierten Variable gibt ...


    Eine Andere Möglichkeit wäre sicherlich die parse_str ()-Funktion zu benutzen ...



    just my 0.02 €


    [Edit]
    R.U. Serious hat meinen ersten Gedankengang etwas kürzer aber passender beschrieben :)

    -> Tristan @ Work <-
    --

  • Danke euch beiden, ich werde das bei Gelegenheit mal ausprobieren und ggf. auftretende Fragen dann hier anhängen. Insbesondere OOHForms sieht interessant aber auch kompliziert aus; aber das ist ja bei den meisten Sachen die man zum ersten Mal sieht so ;)


    Thx - 3dc

  • Zitat

    Original geschrieben von 3dc
    Danke euch beiden, ich werde das bei Gelegenheit mal ausprobieren und ggf. auftretende Fragen dann hier anhängen. Insbesondere OOHForms sieht interessant aber auch kompliziert aus; aber das ist ja bei den meisten Sachen die man zum ersten Mal sieht so ;)


    Thx - 3dc


    Zu OOHForms: Man muss sich ggf. mal einen Tag intensiv mit dem Code auseinander setzen, dann hat man ihn verstanden. :) Javascript-Validierung würde ich nicht nutzen, die ist buggy. Einen leichten Einstieg bietet: http://www.icer.ch/php/oohforms/dokumentation.html


    Es gibt einen Rewrite von der Klasse (mit seeehr cremigen Funktionen und Möglichkeiten), der ist aber leider nie fertig gestellt worden, weil der Autor plötzlich verschwunden ist. Auf seiner Homepage hat er zwar ein Zip mit Code stehen, der fast fertig sein soll, aber wer weiß schon genau wo es da noch hakt... wenn du Zeit hast, aber vielleicht trotzdem interessant: http://www.ulf-wendel.de

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!