Uebertragung von GET-Params

Uebertragung von GET-Params

am 01.12.2006 09:22:02 von Ralph Stahl

Moin,

Folgende Situation:

Ich habe eine Datei test.php wie folgt:

echo "x=$x";
echo'
';
echo "x={$_GET['x']}";
?>











Die habe ich auf 2 Servern liegen. Beide laufen mit PHP5 (5.1.6 bzw.
5.2.0). Auf dem ersten kommt als Ergebnis beim Klick auf die Links

x=1
x=1

auf dem anderen

x=
x=1

Das zweite ist mir geläufig, weil $_GET-Variable eben mit
$_GET['variable'] geholt werden müssen. So mache ich das auch immer.

In einem älteren PHP4-Buch habe ich gelesen, daß $_GET-Variable immer
einfach so per Name zur Verfügung stehen. Im o.g. ersten Fall scheint
das auch so zu funktionieren. Das hat bei einer Entwicklung zu
Verwirrung geführt, weil auf dem 1. Server die Variable da ist, auf dem
2. nicht (das Programmm war "schlampig" geschrieben und setzte die
Vereinfachung voraus).

Die Frage:

Was ist an der Konfiguration falsch bzw. müßte geändert werden, um die
Notwendigkeit der Abfrage per $_GET['variable'] zu erzwingen? Ist das
ein Problem, das in der php.ini gelöst werden muß? Wie? Sehe ich einen
passenden Eintrag bei phpinfo()? Dazu habe ich nichts gefunden. Könnt
Ihr mir bitte helfen? (Der "schlampige" Server gehört einem Provider,
dem ich "auf die Füße treten" möchte.)

Gruß,
Ralph

Re: Uebertragung von GET-Params

am 01.12.2006 10:01:49 von Claus Reibenstein

Ralph Stahl schrieb:

> > echo "x=$x";
> echo'
';
> echo "x={$_GET['x']}";
> ?>

Hier erzeugst Du schon HTML-Code.

>

Aber erst hier beginnt Dein HTML-Teil.

>

Und erst hier ist der Body, in den der oben erzeugte Code hingehört.

> Die habe ich auf 2 Servern liegen. Beide laufen mit PHP5 (5.1.6 bzw.
> 5.2.0). Auf dem ersten kommt als Ergebnis beim Klick auf die Links
>
> x=1
> x=1
>
> auf dem anderen
>
> x=
> x=1

Sei froh, dass da überhaupt etwas kommt.

Meiner (4.1) bringt übrigens eine Warnung, weil $x beim ersten echo noch
nicht existiert.

> Das zweite ist mir geläufig, weil $_GET-Variable eben mit
> $_GET['variable'] geholt werden müssen. So mache ich das auch immer.

So ist es auch richtig.

> In einem älteren PHP4-Buch habe ich gelesen, daß $_GET-Variable immer
> einfach so per Name zur Verfügung stehen.

Das muss dann aber ein _sehr_ altes Buch sein.

> Was ist an der Konfiguration falsch bzw. müßte geändert werden, um die
> Notwendigkeit der Abfrage per $_GET['variable'] zu erzwingen? Ist das
> ein Problem, das in der php.ini gelöst werden muß?

Ja: register_globals=off. Wurde hier gestern abend erst genannt.

Gruß. Claus
--
,~°O O
O ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /

Re: Uebertragung von GET-Params

am 01.12.2006 10:36:59 von Gregor Kofler

Ralph Stahl meinte:
> Moin,
>
> Folgende Situation:
>

[snip]

(Gähn.) Google mal nach "register_globals", lies die FAQ oder einfach
hier in der Gruppe - das Thema wird etwa alle 48 Stunden aufs neue
angesprochen.

Gregor

--
http://www.gregorkofler.at ::: Landschafts- und Reisefotografie
http://www.licht-blick.at ::: Forum für Multivisionsvorträge
http://www.image2d.com ::: Bildagentur für den alpinen Raum

Re: Uebertragung von GET-Params

am 01.12.2006 13:12:25 von Ralph Stahl

In <4ta9duF135aitU1@mid.individual.net> schrieb 4spammersonly@web.de:
> Ralph Stahl schrieb:
>=20
> > > > echo "x=3D$x";
> > echo'
';
> > echo "x=3D{$_GET['x']}";
> > ?>
>=20
> Hier erzeugst Du schon HTML-Code.
[...]
> Sei froh, dass da überhaupt etwas kommt.

Jaja, für DEN Test reichts aber wohl :-)

[...]
> Ja: register_globals=3Doff. Wurde hier gestern abend erst genannt.

Dann hab ich's wohl übersehen, und ich kam auch nicht drauf, daß es das=
=20
ist, sonst hätte ich nicht gefragt. Ja, das steht auf ON bei jenem=20
Server.

Danke!
Ralph