daniel: Zwei Variabeln zusammensetzen

Hallo,

wie kann ich folgendes realisieren ?

Per Formular habe ich übergeben $1_on=1 und $2_on=45 und $40_on=100.

Nun möchte ich im Script auf die Variabeln zugreifen, dies geht aber nicht direkt. Ich habe immer die "Nummer" aus dem Variabelnamen und den Zusatz ("_on" in diesem Beispiel).

Wie realisiere ich
<?
$content=$$row[id]_on;
?>

Dies geht ja nicht, aber ich möchte der Variabel $content, den Wert von $.$row[id]._on übergeben.

Gruß, Daniel

  1. Per Formular habe ich übergeben $1_on=1 und $2_on=45 und $40_on=100.

    Wie realisiere ich
    <?
    $content=$$row[id]_on;

    Der direkte Zugriff auf Variablen von außen ist etwas gefährlich, weil Du nicht feststellen kannst, woher genau diese Variablen kommen (Formular, URL, Cookie, etc) und man Dir zum zweiten fremde Daten unterjubeln kann.
    Aus diesem Grund ist diese Möglichkeit ("register_globals") in allen neueren PHP-Versionen abgeschaltet. Stattdessen kannst Du spezielle Felder benutzen: Formulardaten kommen beispielsweise in der Regel in $_POST[] (falls <form method=post>), URL-Parameter (die mit dem Fragezeichen) in $_GET[].

    Es gibt für Dein Problem zwar auch die Möglichkeit auf eine Variable indirekt zuzugreifen, aber da Du wie gesagt Deine Formulardaten eigentlich schon seit Monaten nicht mehr als einfache Variablen bekommen solltest (hätte sich Dein Hoster um den Server gekümmert), ist die sinnvollste weil zukunftsicherste Möglichkeit (könnte ja sein, daß er sich doch nochmal drum kümmert:), das Feld $_POST zu durchwühlen:

    $content=$_POST[$row["id"]."_on"]

    Gruß,
      soenk.e

    PS: Der Befehl phpinfo(INFO_VARIABLES) liefert Dir eine Übersicht über die von PHP bereitgestellten Variablen.

  2. Hi Daniel,

    <?
    $content=${$row[id]_on};
    ?>

    jetzt befindet sich der Variablenname als neuer content in content
    man könnte auch Sachen anhängen
    zB. eine Zählvariable => $content=${$row[id]_on.$i};
    oder  etwas text => $content=${$row[id]_on."hallo"};

    und dies alles sind dann wieder neue Vraiblennamen

    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist