Hallo,
ich stelle gerade meine Scripts so um, dass sie auch bei 'register globals = off' noch laufen würden. Dabei ergibt sich folgendes Problem:
Ich habe ein Formular mit bis zu 120 Input-Felden. Dieses wird dynamisch aus einer MySQL-Tabelle generiert. Jedes Feld hat seinen eigenen Namen von loc1 bis etwa loc900:
Code:
<input type='text' name='loc1' value=''>
<input type='text' name='loc2' value=''>
<input type='text' name='loc6' value=''>
Nach dem Absenden werden die Daten so verarbeitet:
Code:
foreach ( $new as $val ) {
$loc = "loc" . $val;
// baut z.B. den String "loc1" zusammen, wenn $val=1
// $new ist ein array, das nur Zahlen enthält
if ( !empty(${$loc}) ) {
$setup = "REPLACE INTO tab .... detail ='${$loc}'";
$ok = @mysql_query($setup); }
}
Wie man sieht, entstehen durch ${$loc} "variable Variablen", die denen aus dem Formular entsprechen.
Problem: Wie schaffe ich es, dass auch bei register globals = off diese Variablen akzeptiert werden??
Ich habe verschiedenes ausprobiert, z.B. so:
Code:
if ( !empty($_REQUEST['${$loc}']) ) {
$xyz = $_REQUEST['${$loc}'];
$setup = "REPLACE INTO tab .... detail ='$xyz'";
...klappt aber nicht.