global und Server
Bernd
- php
0 Der Martin
0 misterunknown0 Der Martin
0 Bernd
Hallo,
in meinem Testsystem läuft folgende Konstellation prima:
global $ID;
echo $ID;
Im Produktivsystem will das einfach nicht laufen.
Könnte das an einer Servereinstellung liegen?
Bernd
Hi,
in meinem Testsystem läuft folgende Konstellation prima:
global $ID;
echo $ID;
wo und wie wird $ID deklariert bzw. initialisiert?
Im Produktivsystem will das einfach nicht laufen.
Was heißt das genau? Fehlerbeschreibung? Fehlermeldung??
Könnte das an einer Servereinstellung liegen?
Könnte es sein, dass dein Testsystem immer noch mit der Einstellung register_globals=on arbeitet?
Höchste Zeit, das abzustellen.
So long,
Martin
Moin,
Könnte es sein, dass dein Testsystem immer noch mit der Einstellung register_globals=on arbeitet?
Das hat doch keine Auswirkung auf das Schlüsselwort "global" in PHP, oder? register_globals regelt doch nur externe Variablen, wie $_POST, $_GET und $_COOKIE, oder?
Grüße Marco
Hallo,
Könnte es sein, dass dein Testsystem immer noch mit der Einstellung register_globals=on arbeitet?
Das hat doch keine Auswirkung auf das Schlüsselwort "global" in PHP, oder? register_globals regelt doch nur externe Variablen, wie $_POST, $_GET und $_COOKIE, oder?
ja, richtig - aber wenn Bernd nun ?ID=foo als URL-Parameter übergibt und aufgrund register_globals erwartet, eine Variable $ID im globalen Scope zu bekommen, dann kann er sie mit global auch innerhalb von Funktionen verfügbar machen. Aber eben nur, wenn sie existiert, wodurch auch immer.
Würde er "ordentlich" über $_GET['ID'] auf den Parameter zugreifen, hätte er das Problem möglicherweise gar nicht gehabt, weil die superglobalen Arrays $_GET, $_POST und Co. überall verfügbar sind.
Aber um eindeutig auf den Punkt zu kommen, müsste er mehr Hintergrundinformationen geben.
Ciao,
Martin
Hallo Forum,
danke für die Antworten, es war ein Fehlalarm, sorry.
@Martin: Natürlich arbeite ich seit Jahren nicht mehr mit register globals = on.
Es lag daran, dass die Definition der zu inkludierenden DATEI; IN DEM DAS sZENARIO ABLÄUFT, eine andere ist als im Testsystem. Daher war das Ergebnis natürlich ein anderes und für mich exakt dasselbe, als wäre $ID nicht vorhanden, denn über die ID hätte eine fallunterscheidun g erfolgen sollen.
Tat sie auch, jedenfalls in der Datei, die das Testsystem nutzte. Aber eben nicht in der fälschlicherweise genommenen Datei.
ich hoffe, Ihr wisst, was ich meine?
Grüße, bernd