30. juni 2005 - 09:32Der er
9 kommentarer og 1 løsning
har flyttet webhotel og får en underlig fejl
Hej, her er nok noget af det mest underlige jeg har prøvet :o)
Jeg flyttede til et nyt webhotel og nu opfører mine variabler sig mega underligt. med andre ord, variablerne opfører sig som var de Session variabler. Hvis jeg sætter variablen én gang, så kan jeg udskrive den igen næste gang jeg loader siden. Der skal dog stå session_start() først! Men det er virkelig underligt.
<?php session_start(); echo $whichparts; // utroligt nok så udskriver den variablen, selvom den slet ikke er sat endnu??? ?>
Højst sandsynligt fordi register_globals er slået til... register_globals overfører indholdet af alle de superglobale variable ($_GET, $_REQUEST, $_POST, $_SERVER, $_SESSION) til alm. variable. Dette BURDE ikke kunne lade sig gøre uden session_register('whichparts');, men hvem ved...
Hvis du har mulighed for at bruge .htaccess, så prøv at tilføje:
php_flag register_globals off
eller
php_flag register_globals 0
... og se om det hjælper. Under alle omstændigheder bør du slå register_globals fra, hvis du kan ;)
Som sagt burde det ikke ske - så vidt jeg ved "forgifter" register_globals kun variable før siden bliver kørt (altså med alt hvad den finder af GET- og POST-parametre, server-konstanter, cookies osv.), så når du ikke har fortalt den (via $_SESSION[] eller session_register()), at $whichparts er en session variabel, så burde den heller ikke blive gemt i session-data, og dermed burde register_globals ikke kunne finde nogen værdi at sætte den til...
Men hvad, godt at vide at det sker alligevel til en anden gang. Og under alle omstændigheder er dit site generelt blevet lidt mere sikker med register_globals off. Fejl betaler sig nogle gange =)
Går ud fra du kender brugen af register_globals allerede, men hvis du ikke gør, så skal du jo lige være opmærksom på, at du ikke kan hente parametre i GET eller POST eller cookies med variabel-navnet længere, men kun gennem $_REQUEST eller $_GET/$_POST/$_COOKIE.
PS du skulle vel ikke os vide hvorfor at denne bliver tilføjet til url 2. gang man gør noget ved min nye udbyder: ?PHPSESSID=c07cdd9229c2f44786f9b6e7efeb1
Det er os sket efter jeg skiftede udbyder :o) Du behøver ik svare, kun hvis du har lyst :o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.