Avatar billede learner Praktikant
30. juni 2005 - 09:32 Der 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???
?>
Avatar billede learner Praktikant
30. juni 2005 - 09:34 #1
Her er link til phpinfo():
http://www.tilbudsmaskinen.dk/phpinfo.php
Avatar billede serge Nybegynder
30. juni 2005 - 09:48 #2
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 ;)
Avatar billede learner Praktikant
30. juni 2005 - 09:52 #3
Ok, det prøver jeg lige :o) TAAAAAK :)
Avatar billede learner Praktikant
30. juni 2005 - 09:54 #4
Jo, det virker :o)
Det var sku dejligt :o) tusind tak :o)

smid et svar
Avatar billede serge Nybegynder
30. juni 2005 - 10:05 #5
Godt så =) Hvorfor det sker, aner jeg så ikke...

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.
Avatar billede serge Nybegynder
30. juni 2005 - 10:05 #6
Ups, så glemte jeg at slå "svar" til...
Avatar billede learner Praktikant
30. juni 2005 - 10:48 #7
:o) jo jeg kender netop kun den nye måde ($_POST[] osv..)

Register_globals var nemlig OFF ved min gamle web udbyder.

Tak og her får du point :o)
Avatar billede learner Praktikant
30. juni 2005 - 11:02 #8
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)
Avatar billede learner Praktikant
30. juni 2005 - 11:58 #9
Her er point hvis du os kan hjælpe med det :)
http://www.eksperten.dk/spm/629528
Avatar billede serge Nybegynder
30. juni 2005 - 12:35 #10
Forsøgt besvaret ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester