Slimie
Erfahrenes Mitglied
Hallihallohallöle,
ich habe ein kleines Problem! Und zwar ist ja ab PHP Version 4.2 (verbessert mich bitte wenn ich falsch liege) register_globals "off" gestellt. Ich habe mir deshalb angewöhnt, meine scripts jetzt immer mit $_POST, $_GET etc zu schreiben. Jetzt habe ich gemerkt, das der Server, auf dem ich mein ganzes Zeugs liegen habe, das gar nicht unterstützt. Ich habe meine neue Homepage komplett mit den "superglobalen" Variablen bestückt (die Dinger heißen doch so oder? ;-)) Naja wie dem auch sei habe ich keine Lust die ganze Schose wieder zu ändern, da es sicherlich ein relativ großer Zeitaufwand sein würde.
Ich habe jetzt etwas geschrieben, damit das Script automatisch die variablen ändert auf die jeweiligen Superglobalen Vars! Also in etwa so:
Natürlich nicht ganz so, nur als Beispiel. [ironie] Das ganze hat auch NUR 1 1/2 Stunden gedauert[/ironie] Ich habe im Internet gesucht und gesucht, aber keine Tutorials oder etwas in die RIchtung gefunden (natürlich vorher und deshalb auch der Zeitaufwand) Ich bin sicherlich nicht der beste in PHP und darum glaube ich, es gibt noch ne bessere Art und Weise wie man das Problem lösen kann. Ausserdem bin ich mir gar nicht sicher, ob das Ganze so funktionier wie ich mir das gedacht hatte!
Also nochmal in Kurzform: Wenn ich ein Forumlar habe mit method="post" und action="irgendnedatei.php" und da ein feld mit dem namen "bla" oder so, dann kann ich in irgendeinedatei.php mit echo $_POST['name'] NICHT den Wert des Feldes ausgeben, sondern NUR mit echo $name! Genau das wollte ich jetzt so umdrehen, das ich es mit $name UND (und darauf kommt es mir ja eigentlich auch an) auch mit $_POST['name'] ausgeben kann! Das mit dem $_POST['name'] geht jetzt mit diesem Script! Das habe ich getestet
Aber...
Frage: Taugt das Script (unten gepostet) was für diesen Zweck oder klappt es nur in dem einen Fall in dem ich es getestet habe? Und: Gilft das dann auch wriklich für alle Variablen die da so hin und her schwirren? Also gibt es noch andere ausser die mit dem Anfang: SERVER, GET, POST, COOKIE, FILES, ENV, die man da einbeziehen müsste?
Ich hoffe ihr habt das verstanden, weil ich hab echt keine Ahnung wie ich das besser erklären könnte, weil ich ja selbst nicht so genau weiß, wie ich es erklären soll!
So genug geredet, hier der Code der Datei:
Falls es dafür doch ein Tutorials gibt, zerhackt mich, zersägt mich, schlagt mich klitzeklein aber ich hab es wirklich wirklich nicht gefunden 
So jetzt entschuldigung, das ich hier einen halben Roman hingeschrieben habe! Ist bestimmt ätzend so viel zu lesen
DANKE!
MfG, Slimie
ich habe ein kleines Problem! Und zwar ist ja ab PHP Version 4.2 (verbessert mich bitte wenn ich falsch liege) register_globals "off" gestellt. Ich habe mir deshalb angewöhnt, meine scripts jetzt immer mit $_POST, $_GET etc zu schreiben. Jetzt habe ich gemerkt, das der Server, auf dem ich mein ganzes Zeugs liegen habe, das gar nicht unterstützt. Ich habe meine neue Homepage komplett mit den "superglobalen" Variablen bestückt (die Dinger heißen doch so oder? ;-)) Naja wie dem auch sei habe ich keine Lust die ganze Schose wieder zu ändern, da es sicherlich ein relativ großer Zeitaufwand sein würde.
Ich habe jetzt etwas geschrieben, damit das Script automatisch die variablen ändert auf die jeweiligen Superglobalen Vars! Also in etwa so:
PHP:
$HTTP_SERVER_VARS = $_SERVER['die_vars'];
$HTTP_GET_VARS = $_GET['die_vars'];
Also nochmal in Kurzform: Wenn ich ein Forumlar habe mit method="post" und action="irgendnedatei.php" und da ein feld mit dem namen "bla" oder so, dann kann ich in irgendeinedatei.php mit echo $_POST['name'] NICHT den Wert des Feldes ausgeben, sondern NUR mit echo $name! Genau das wollte ich jetzt so umdrehen, das ich es mit $name UND (und darauf kommt es mir ja eigentlich auch an) auch mit $_POST['name'] ausgeben kann! Das mit dem $_POST['name'] geht jetzt mit diesem Script! Das habe ich getestet

Frage: Taugt das Script (unten gepostet) was für diesen Zweck oder klappt es nur in dem einen Fall in dem ich es getestet habe? Und: Gilft das dann auch wriklich für alle Variablen die da so hin und her schwirren? Also gibt es noch andere ausser die mit dem Anfang: SERVER, GET, POST, COOKIE, FILES, ENV, die man da einbeziehen müsste?
Ich hoffe ihr habt das verstanden, weil ich hab echt keine Ahnung wie ich das besser erklären könnte, weil ich ja selbst nicht so genau weiß, wie ich es erklären soll!

So genug geredet, hier der Code der Datei:
PHP:
error_reporting(E_ALL);
// Setzen der Arrays für die "fake" superglobalen Variablen
$_SERVER = array();
$_GET = array();
$_POST = array();
$_COOKIE = array();
$_FILES = array();
$_ENV = array();
// hier Zählen wieviele Werte in den vars gesetzt sind für die For-Schleife
$count1 = count($HTTP_SERVER_VARS);
$count2 = count($HTTP_GET_VARS);
$count3 = count($HTTP_POST_VARS);
$count4 = count($HTTP_COOKIE_VARS);
$count5 = count($HTTP_POST_FILES);
$count6 = count($HTTP_ENV_VARS);
// hier habe ich eine For-Schleife genommen, um die ganzen "Einträge" in den
// $HTTP_ vars auch richtig auf das Array zu übergeben, also das z.b.
// $HTTP_POST_VAR['1'] auch gleich $_POST['1'] ist
for ($i=0; $i<$count1; $i++) {
$_SERVER = $HTTP_SERVER_VARS;
}
for ($i=0; $i<$count2; $i++) {
$_GET = $HTTP_GET_VARS;
}
for ($i=0; $i<$count3; $i++) {
$_POST = $HTTP_POST_VARS;
}
for ($i=0; $i<$count4; $i++) {
$_COOKIE = $HTTP_COOKIE_VARS;
}
for ($i=0; $i<$count5; $i++) {
$_FILES = $HTTP_POST_FILES;
}
for ($i=0; $i<$count6; $i++) {
$_ENV = $HTTP_ENV_VARS;
}

So jetzt entschuldigung, das ich hier einen halben Roman hingeschrieben habe! Ist bestimmt ätzend so viel zu lesen

DANKE!
MfG, Slimie
Zuletzt bearbeitet: