Ich hab doch gesagt, mit eval. Das ist ja das Praktische an ner Interpretersprache

Hab mal eben ne kleine Funktion geschrieben:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22: | <?
function create_variables()
{
global $HTTP_GET_VARS,$HTTP_POST_VARS,$HTTP_COOKIE_VARS; //Und alles, was man halt sonst noch so will
$vars=$HTTP_GET_VARS+$HTTP_POST_VARS+$HTTP_COOKIE_VARS; //..
$keys=array_keys($vars);
foreach($keys as $name)
{
$value=$vars[$name];
eval("global \$$name; \$$name=\"$value\";");
}
}
$bla=0;
create_variables();
echo $bla;
?> |
Gib script.php?bla=5 ein, nach dem Aufruf von create_variables ist bla wieder 5. Einsetzen könnte man das z.B. so:
1:
2: | if (!get_cfg_var("register_globals"))
create_variables(); |
Nur die Sache mit dem global find ich doof, aber da fiel mir auf die Schnelle keine gescheite Lösung ein.
Can
---
"
S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox