Anzeige:
Ergebnis 1 bis 13 von 13

Thema: $$ in PHP?

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.09.2003
    Beiträge
    100

    $$ in PHP?

    Servus!

    Aus Perl kenn ich $$variable um den Inhalt von $variable als neuen Variablennamen zu bekommen. Kann ich sowas auch in PHP machen?

    Mein Problem ist folgendes: ich schreibe ein generisches Interface mit Formularen und das Formular kann verschiedene Inputs haben, die ich zum jetzigen Zeitpunkt noch nicht weiß. Ich will aber nach dem Absenden des Formulars alle Inputs als Variablen vorliegen haben und zwar am liebsten als $inputname=$inputwert. Sie liegen mir aber wie das bei POST-Formularen so ist nur als $_POST['$inputname']=$inputwert vor. Ich habe mir schon einen Array erzeugt, der alle $inputnamen enthält und einem hidden-input-Feld zugewiesen wird. Ich kenne nach dem Absenden des Formulars also alle $inputnamen. Wenn das in PHP so klappen würde wie in Perl würde ich es so zuweisen:
    Code:
    foreach ($array as $variable)
    {
      $$variable=$_POST['$variable'];
    }
    Ich hoffe so langsam versteht jemand was ich will.

    Also - wie schaut's aus? Wie löse ich das mit PHP?

  2. #2
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Ich habe da einen ganz heißen Tipp für Dich: Manual

    Pingu
    Homepage: www.pingu.info

  3. #3
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Zitat Zitat von ThorstenHirsch
    ....
    Code:
    foreach ($array as $variable)
    {
      $$variable=$_POST['$variable'];
    }
    Ich hoffe so langsam versteht jemand was ich will.

    Also - wie schaut's aus? Wie löse ich das mit PHP?
    In der Zeit in der du diesen Post geschrieben hast hättest du's eigentlich schon ausprobieren können, oder?


  4. #4
    Registrierter Benutzer
    Registriert seit
    11.09.2003
    Beiträge
    100
    lol. Natürlich hatte ich das schon ausprobiert - es hat aber nicht geklappt. Jetzt seh' ich aber, dass das an nem ganz anderen Fehler lag. Arrrrgh!

    Na das ist ja toll.

    P.S.: Warum steht eigentlich im PHP Kochbuch nix darüber drin?

  5. #5
    Registrierter Benutzer Avatar von klewan
    Registriert seit
    06.05.2005
    Ort
    Wien
    Beiträge
    99
    PHP-Code:
    eval("\$" $variable "=\""  $_POST['$variable'] . "\";");
    echo 
    $variable
    evntl geht auch bin mir aber nicht sicher ob das in deinem fall das is was du willst :-)

    PHP-Code:
    extract($_POST);
    echo 
    $variable
    Geändert von klewan (01-03-2006 um 12:53 Uhr)

  6. #6
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Das Übliche Drama der fehlenden Kontrollstrukturen
    PHP-Code:
    foreach ($array AS $var)
    {
        if ( isset( 
    $_POST[$var] ) )
           
    $var =&  $_POST[$var];

    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  7. #7
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Also gehen Tuts, aber ob mans verwenden sollte, darüber lässt sichs streiten. Ich jedenfalls nehme davon Abstand. Es geht halt, wie register-globals auch, aber deswegen sollte man es noch lange nicht verwenden.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  8. #8
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Wo bist du jetzt dran
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  9. #9
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Turbohummel
    Also gehen Tuts, aber ob mans verwenden sollte, darüber lässt sichs streiten. Ich jedenfalls nehme davon Abstand. Es geht halt, wie register-globals auch, aber deswegen sollte man es noch lange nicht verwenden.
    Warum ist es sinnvoll mit $_POST und $_GET weiterzuarbeiten?
    Damit ein versehentliches $variable = $variable; vermieden wird
    && nicht doppelt Speicher reserviert wird!
    Das Rad gibt es schon, man muß es nicht erfinden.
    Geändert von Romanday (02-03-2006 um 19:39 Uhr)
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  10. #10
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Ich arbeite nicht mit $_POST und $_GET, denn ich arbeite mit $_REQUEST, und auch das ist in eine Klasse Remote_Data verpackt, die mir Funktionen wie get_string(), get_int(), get_decimal() und exists() anbietet. Dann weiß ich wenigstens, was da kommt.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  11. #11
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Also wer nur mit $_REQUEST arbeitet hat Generel schon mal einen Designfehler (Zitat: Peter Prochaska auf der Letzten PHP Konferenz in Frankfurt zum Thema Sicherheit, SQL-Injection und Session Hijcking). und da gebe ich im voll und ganz Recht.
    Ich Empfehle dir XSSoops http://www.xssoops.com
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  12. #12
    Registrierter Benutzer
    Registriert seit
    03.03.2006
    Beiträge
    6
    Ich hab für $$vars eine Anwendung gehabt:

    Eine Liste mit checkboxen für Mitglieder, die eine Mail erhalten sollen.
    Die Namen der Checkboxen sind fortlaufend nummeriert, value ist gleich der USER-ID.

    Danach kann ich alle Checkboxen der Reihe nach abfragen, ob sie eine User-ID haben, also eine Mail erhalten sollen...

    geht auch mit arrays, aber habe es damals so gemacht...

  13. #13
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von philneu
    Ich hab für $$vars eine Anwendung gehabt:

    Eine Liste mit checkboxen für Mitglieder, die eine Mail erhalten sollen.
    Die Namen der Checkboxen sind fortlaufend nummeriert, value ist gleich der USER-ID.

    Danach kann ich alle Checkboxen der Reihe nach abfragen, ob sie eine User-ID haben, also eine Mail erhalten sollen...

    geht auch mit arrays, aber habe es damals so gemacht...
    $$vars hättest du nicht gebraucht.

    Zur HTML formatierung gibts <ol> sowie im Formular einen nummerischen Array
    übergeben. Dann hättest auch Zugriff auf die einzelnen Elemente gehabt.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •