PHP Newbe: register_globals

Hallo,

ich habe meine Webseite so geschrieben, dass sie bei register_globals = Off funktioniert, da ich auf meinem Homewebserver diese Einstellung so gesetzt habe.
Somit habe ich die Variablen aus der URL / Formularen geholt:
$var = $_REQUEST["var"];
$var1 = $_POST["var1"];
$var2 = $_GET["var2"];

Nun habe ich meine Seite auf den Webspace meines Providers geladen.
Dieser hat register_globals auf On.

Jetzt sind komischer Weise die Variablen, die ich mit oben stehenden Code aus der URL geholt habe, leer.

Das ganze erscheint mir ja auch irgendwo logisch, aber kann man die ganze Sache etwas umgehen, dass ich diesen Code trotzdem verwenden kann und somit die Page mit beiden Varianten (Off & On) funktioniert?

Gruß
PHP Newbe

  1. hi,

    $var = $_REQUEST["var"];
    $var1 = $_POST["var1"];
    $var2 = $_GET["var2"];

    Nun habe ich meine Seite auf den Webspace meines Providers geladen.
    Dieser hat register_globals auf On.

    Jetzt sind komischer Weise die Variablen, die ich mit oben stehenden Code aus der URL geholt habe, leer.

    Das ganze erscheint mir ja auch irgendwo logisch

    nee, das ist eigentlich nicht logisch.

    rg_off-scripte sollten bei rg_on problemlos funktionieren, nur umgekehrt halt nicht.

    btw: dass du den POST-wert aber nicht "aus dem URL geholt" hast, ist aber hoffentlich klar.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Hi wahsaga,

      Das ganze erscheint mir ja auch irgendwo logisch

      nee, das ist eigentlich nicht logisch.

      rg_off-scripte sollten bei rg_on problemlos funktionieren, nur umgekehrt halt nicht.

      Naja, ich werd mich mal an den Support meines Providers wenden

      btw: dass du den POST-wert aber nicht "aus dem URL geholt" hast, ist aber hoffentlich klar.

      Jo

      Danke
      PHP Newbe

  2. Hallo PHP Newbe!

    Nun habe ich meine Seite auf den Webspace meines Providers geladen.
    Dieser hat register_globals auf On.
    Jetzt sind komischer Weise die Variablen, die ich mit oben stehenden Code aus der URL geholt habe, leer.

    Normalerweise gibt es keine Probleme, wenn man mit den Arrays $_POST, $_GET usw. arbeitet - egal ob register_globals nun an oder aus ist.

    Schau mal in phpinfo(), was für eine PHP-Version bei Deinem Provider installiert ist.
    Wenn die zu alt ist, könnte es sein, daß die "neuen" Arrays dort noch nicht funktionieren - aber dann müßte es wirklich schon eine relativ alte Version sein!

    Ansonsten mal beim Support Deines Providers nachfragen, warum es nicht geht.

    MfG
    Götz

    --
    Losung für Donnerstag, 23. September 2004
    Ich will dem Herrn singen mein Leben lang und meinen Gott loben, solange ich bin. (Psalm 104,33)
    Leidet jemand unter euch, der bete; ist jemand guten Mutes, der singe Psalmen. (Jakobus 5,13)
    (http://www.losungen.de/heute.php3)
    1. Hi,

      Schau mal in phpinfo(), was für eine PHP-Version bei Deinem Provider installiert ist.
      Wenn die zu alt ist, könnte es sein, daß die "neuen" Arrays dort noch nicht funktionieren - aber dann müßte es wirklich schon eine relativ alte Version sein!

      Mmh, installiert ist PHP 4.3.8.
      Da sollte es doch eigentlich funktionieren, oder?

      Ansonsten mal beim Support Deines Providers nachfragen, warum es nicht geht.

      Dann wird das wohl mein Weg sein...

      Danke
      PHP Newbe

      1. Hallo

        Wenn die zu alt ist, könnte es sein, daß die "neuen" Arrays dort noch nicht funktionieren - aber dann müßte es wirklich schon eine relativ alte Version sein!
        Mmh, installiert ist PHP 4.3.8.
        Da sollte es doch eigentlich funktionieren, oder?

        Ja, vor PHP 4.1x hieß z.B. $_POST[] noch $HTTP_POST_VARS[]. Die kann man
        in neueren Versionen aber auch noch benutzen, obwohl die neue Schreibweise
        zu bevorzugen ist. Ob die alte Schreibweise bei PHP 5 noch funktioniert,
        weiß ich allerdings nicht.

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)