Variable wird nicht mehr übergeben
Dirk
- php
Hallö,
ich ziehe gerade auf einen neuen Server um. Dabei gehen leider meine Skripte nicht mehr. Ich habe etwas programmiert und den Fehler eingrenzen können: Bis jetzt habe ich ein html Formular, welches an eine PHP Datei gesendet wird. In dieser greife ich auf die Variable meines Input Feldes einfach mit $namedesinputfeldes zu - das geht nun nicht mehr - es wird keine Variable mit übertragen. Greife ich aber mit $_HTTP_POST_VARS['namedesinputfeldes'] drauf zu, geht das. Weiss einer wieso? Muss ich nun jedes Skript umschreiben? Wäre für Eure Hilfe sehr dankbar!
viele Grüße,
Dirk
hi,
In dieser greife ich auf die Variable meines Input Feldes einfach mit $namedesinputfeldes zu - das geht nun nicht mehr
Gut so.
Greife ich aber mit $_HTTP_POST_VARS['namedesinputfeldes'] drauf zu, geht das.
Das ist auch stark veraltet. $_POST wäre aktuell.
Weiss einer wieso?
Stichwort register_globals.
Muss ich nun jedes Skript umschreiben?
Ja, das wäre auf jeden Fall empfehlenswert.
gruß,
wahsaga
Hi Dirk,
du wirst deine Scripte retten können, indem du folgende Funktion an den Anfang jeder Scriptdatei, welche Daten via HTTP übergeben bekommt schreibst (alternativ in eine Header Datei, welche in jedem Script inkludiert wird):
import_request_variables('GPC');
Informationen: http://www.php.net/manual/de/function.import-request-variables.php
Zusätzlich empfehle ich dir, dich über "Register Globals" zu informieren und dir über den durch benutzung dieser gewonnen Sicherheitsfaktor zu erfreuen, weitere Informationen dazu erhälst du hier:
http://www.php.net/register_globals
Gruß,
Skeptiker
Hallo ihr beiden,
danke für die fixe Antwort. Und zack, es ging wieder. Ist es dann besser die Funktion import_request_variables zu nehmen oder soll ich lieber die ganzen Skripte umschreiben? Und ist dann $_GLOBALS oder $_POST besser?
Sorry, die Fragen sind vielleicht dumm, aber ich hab mich nur vor Jahren mit PHP beschäftigt und in meinem alten Buch gabs sowas noch garnicht oder der Autor hats elegant umgangen...
viele Grüße,
Dirk
hi,
Ist es dann besser die Funktion import_request_variables zu nehmen oder soll ich lieber die ganzen Skripte umschreiben?
import_request_variables birgt das gleiche Risiko (bei "schmlampiger" Programmierung eines Scripts), wie register_globals=on.
Und ist dann $_GLOBALS oder $_POST besser?
Zwischen den beiden besteht überhaupt kein Zusammenhang.
Sorry, die Fragen sind vielleicht dumm, aber ich hab mich nur vor Jahren mit PHP beschäftigt und in meinem alten Buch gabs sowas noch garnicht oder der Autor hats elegant umgangen...
Dann lies mal ein aktuelleres - oder die Einführungskapitel im offiziellen Manual.
gruß,
wahsaga