Andreas: Session- und globale Variabeln

Hallo,

ich habe folgendes phänomen bei mir beobachtet:

ich habe eine globale variabel name test (also $test) und eine Sessionvariabel $_SESSION['test']. unter dem linux server meines passiert folgendes:

code ...
$test='wert1';
print $test;
$_SESSION['test']='wert2';
print $test;
...

ergibt folgende ausgabe:
wert1
wert2

jetzt ist meine frage warum? unter meinem windows server passiert das nicht. dort kommt die richtige ausgabe(wert1,wert1). ist es ein bug oder habe ich bei globalen variabeln etwas nicht verstanden? vielleicht hat jemand diese verhalten schon mal beobachtet. zur lösung habe ich jetzt übrigens einfach die variabel umbenannt ;-).

mfg
Andreas

  1. Hi,

    jetzt ist meine frage warum?

    weil Dein Server verkonfiguriert ist. "register_globals" ist auf "on"  gestellt, was zu vermeiden wäre.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Danke.

      kann man dies mit dem befehlt
      ini_set("register_globals", "off") abschalten?

      mfg
      Andreas

      1. Hi,

        kann man dies mit dem befehlt
        ini_set("register_globals", "off") abschalten?

        keine Ahnung, probier's aus.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Zur Info:

          leider kann ich mit ini_set die einstellung  register_globals nicht beeinflussen.

          Andreas

          1. hi,

            leider kann ich mit ini_set die einstellung  register_globals nicht beeinflussen.

            dann beeinflusse sie anders.
            z.b. über das setzen des php_values mittels einer .htaccess-datei.

            gruss,
            wahsaga

            1. Hallo!

              dann beeinflusse sie anders.
              z.b. über das setzen des php_values mittels einer .htaccess-datei.

              ... was allerdings nur geht wenn man die Modul-Version vor sich hat.

              Grüße
              Andreas

          2. Halihallo Andreas

            leider kann ich mit ini_set die einstellung  register_globals nicht beeinflussen.

            Dann stell dies in der php.ini Datei ein. Falls du dies nicht kannst,
            da der Server nicht bei dir steht und du keinen Zugriff darauf hast,
            würde ich den Admin darum ersuchen, denn es ist ein
            ernstzunehmendes Sicherheitsrisiko (wenn man nicht gut programmiert).

            Viele Grüsse

            Philipp

            --
            Any given program, when running, is obsolete.
        2. Hello,

          Hi,

          kann man dies mit dem befehlt
          ini_set("register_globals", "off") abschalten?

          keine Ahnung,

          glaub ich Dir nicht!

          probier's aus.

          Und nachlesen wäre auch nicht schlecht.
          http://de2.php.net/manual/de/function.ini-set.php

          register_globals   "0"   PHP_INI_PERDIR|PHP_INI_SYSTEM

          bedeutet, dass es in der httpd.conf und in den VirtHosts und auch noch in einer .htaccess eingestellt werden kann, aber eben nicht PHP_INI_ALL, also nicht im Script. Das wäre ja auch unsinnig, da die SAuper-Globalen Variablen-Arrays dem Script als "Environment" beim Bilden der Instanz mitgegeben werden. Wenn das Script dann ausgewertet wird, existieren die also schon (oder eben nicht mehr separiert)

          Du solltest mal http://tut.php-q.net ganz in Ruhe von vorne durcharbeiten. Das lohnt sich.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen