Variablenübergabe via URL funktioniert nicht

Hallo,

ich habe das WAMP-System FOXSERV unter WinXP Prof. installiert. Eigentlich
funktionieren PHP & Co. recht gut. Jedoch klappt die Übergabe per URL nicht.
Wenn ich das gleiche Script online bei 1&1 teste geht es, also kann man von
Fehlern in der Programmierung absehen. Das Script lautet wie folgt:

<?php
if ($spielzug=="1")
include ('spielzuege/block-center.inc');
if ($spielzug=="2")
include ('spielzuege/block-fluegel.inc');
if ($spielzug=="3")
include ('spielzuege/block-mittel.inc');
if ($spielzug=="4")
include ('spielzuege/trailer-oben.inc');
if ($spielzug=="5")
include ('spielzuege/trailer-unten.inc');
?>

Für die Links benutze ich einfach "dateiname.php?spielzug=1" '(Beispiel).

Woran kann es legen, das FOXSERV mein Script nicht richtig ausführt, aber
1&1 alles richtig macht. Muss ich irgendwelche Konfigurationen modifizieren?


--
MfG,

Ingo Stöcker

www.kobe8.de
www.svwassmannsdorf.de
www.asbh-potsdam.de
www.ihrkuechenpartner.com
ingo.stoecker [ Di, 05 Oktober 2004 09:40 ] [ ID #16590 ]

Re: Variablenübergabe via URL funktioniert nicht

Ingo Stöcker schrieb:
> Hallo,
>
> ich habe das WAMP-System FOXSERV unter WinXP Prof. installiert. Eigentlich
> funktionieren PHP & Co. recht gut. Jedoch klappt die Übergabe per URL nicht.
> Wenn ich das gleiche Script online bei 1&1 teste geht es, also kann man von
> Fehlern in der Programmierung absehen. Das Script lautet wie folgt:

Sagen wir es mal so: Es ist eine Kombination aus Konfiguration und
Programmierfehler...

Schau mal hier:
11.20. Warum funktionieren meine Formulare nicht?
http://www.dclp-faq.de/q/q-formular-register-globals.html

1&1 hat (glücklicherweise) die Konfiguration so eingestellt, dass es
sicherer ist. (sprich register_globals = off). Auf Deinem Rechner ist
wahrscheinlich register_globals auf on. Daher funktioniert auch das von
Dir gepostete Skript zu Hause und eben bei 1&1 nicht.

Bei aktivierten register_globals hat man die Möglichkeit Werte an
Variablen in Skripten zu übergeben. Und das sollte natürlich nicht
gehen, da sonst bestimmte Abläufe in einem Skript "gestört" werden könnten.

Ciao,
Tobias
Tobias Kutzler [ Di, 05 Oktober 2004 09:55 ] [ ID #16591 ]

Re: Variablenübergabe via URL funktioniert nicht

Hallo Tobias,

> Schau mal hier:
> 11.20. Warum funktionieren meine Formulare nicht?
> http://www.dclp-faq.de/q/q-formular-register-globals.html
>
> 1&1 hat (glücklicherweise) die Konfiguration so eingestellt, dass es
> sicherer ist. (sprich register_globals = off). Auf Deinem Rechner ist
> wahrscheinlich register_globals auf on. Daher funktioniert auch das von
> Dir gepostete Skript zu Hause und eben bei 1&1 nicht.
>
> Bei aktivierten register_globals hat man die Möglichkeit Werte an
> Variablen in Skripten zu übergeben. Und das sollte natürlich nicht
> gehen, da sonst bestimmte Abläufe in einem Skript "gestört" werden
könnten.

ich habe anscheinend mich unglücklich (undeutlich) ausgedrückt. Also das
Script funktioniert unter 1&1, aber unter FOXSERV (Apache2, PHP4, mySQL)
nicht !!!

Gruß,

Ingo #8
ingo.stoecker [ Di, 05 Oktober 2004 10:03 ] [ ID #16592 ]

Re: Variablenübergabe via URL funktioniert nicht

Hallo Ingo

Ingo Stöcker wrote:
> ich habe das WAMP-System FOXSERV unter WinXP Prof. installiert. Eigentlich
> funktionieren PHP & Co. recht gut. Jedoch klappt die Übergabe per URL nicht.

Siehe register_globals. Benutze aber statt der Konfigurationsmöglich-
keit, lieber generell die Superglobals $_GET und $_POST.

11.20. Warum funktionieren meine Formulare nicht?
http://www.dclp-faq.de/q/q-formular-register-globals.html

> Wenn ich das gleiche Script online bei 1&1 teste geht es, also kann man von
> Fehlern in der Programmierung absehen. Das Script lautet wie folgt:
> <?php
> if ($spielzug=="1")
> include ('spielzuege/block-center.inc');
> if ($spielzug=="2")
> include ('spielzuege/block-fluegel.inc');
> if ($spielzug=="3")
> include ('spielzuege/block-mittel.inc');
> if ($spielzug=="4")
> include ('spielzuege/trailer-oben.inc');
> if ($spielzug=="5")
> include ('spielzuege/trailer-unten.inc');
> ?>
> Für die Links benutze ich einfach "dateiname.php?spielzug=1"
> (Beispiel).

Statt diesen merkwürdigen if() solltest du wohl eher auf switch() wechseln.

HTH, Johannes
Johannes Vogel [ Di, 05 Oktober 2004 09:47 ] [ ID #16593 ]

Re: Variablenübergabe via URL funktioniert nicht

Ingo Stöcker schrieb:

>
> ich habe anscheinend mich unglücklich (undeutlich) ausgedrückt. Also das
> Script funktioniert unter 1&1, aber unter FOXSERV (Apache2, PHP4, mySQL)
> nicht !!!

Dann ist Dein System zu Hause per register_globals auf off gestellt und
es geht daher nicht. Kann auch sein, dass 1&1 register_globals wegen
einiger Spezies noch auf on hat. (Ich deaktiviere dies übrigens immer
mittels eigener php.ini in meinen Pfaden)

Schau mal in der php.ini auf dem Rechner nach, auf dem FoxServ läuft.

>
> Gruß,
>
> Ingo #8
>
>
Ciao,
Tobias
Tobias Kutzler [ Di, 05 Oktober 2004 10:17 ] [ ID #16594 ]

Re: Variablenübergabe via URL funktioniert nicht

Noch mal hallo,

also habe in der php.ini den entsprechenden "register_globals"-Eintrag auf
"On" gesetzt. Leider zeigt "phpinfo" immer noch "Off" an! Was kann ich noch
machen?

MfG,

Kobe #8
ingo.stoecker [ Di, 05 Oktober 2004 10:27 ] [ ID #16595 ]

Re: Variablenübergabe via URL funktioniert nicht

Hi Ingo

Ingo Stöcker wrote:
> Noch mal hallo,
> also habe in der php.ini den entsprechenden "register_globals"-Eintrag auf
> "On" gesetzt. Leider zeigt "phpinfo" immer noch "Off" an! Was kann ich noch
> machen?

Apache neu gestartet?
Das ist aber trotzdem der falsche Weg aus dem Schlamassel. Du solltest
lieber die Superglobals $_GET und $_POST. Wiederhole ich mich?

HTH, Johannes
Johannes Vogel [ Di, 05 Oktober 2004 10:27 ] [ ID #16596 ]

Re: Variablenübergabevia URL funktioniert nicht

Ingo Stöcker schrieb:

> also habe in der php.ini den entsprechenden "register_globals"-Eintrag auf
> "On" gesetzt. Leider zeigt "phpinfo" immer noch "Off" an! Was kann ich noch
> machen?

Webserver neu starten.

Du solltest trotzdem deine Skripte so schreiben, dass sie mit
register_globals = off arbeiten. Wenn du die anderen Hinweise zur
Sicherheit schon jedesmal ignorierst, dann versuch ich's mal mit
folgendem:

register_globals = off ist die Defaulteinstellung. Wenn du so
programmierst, dass es damit läuft, dann musst du nie auf einem System
extra etwas umstellen.

Gruß,
Matthias
Matthias Esken [ Mi, 06 Oktober 2004 00:07 ] [ ID #16602 ]
PHP » de.comp.lang.php.installation » Variablenübergabe via URL funktioniert nicht

Vorheriges Thema: xmapp Probleme (Anfänger)
Nächstes Thema: suse 9.1 wie php updaten?