Avatar billede nyp Nybegynder
05. januar 2009 - 16:01 Der er 5 kommentarer og
1 løsning

Catchable fatal error

Når jeg kører nedenstående script på en PHP 5.2.6 for jeg fejlen
Catchable fatal error: Object of class testClass could not be converted to string in <...>/test.php on line 20 på en PHP Version 5.1.6 får jeg ingen fejl, er det en bug eller er der noget fejl i min kode? Hvis jeg ændrer $test til noget andet så får jeg ingen fejl.

?PHP
// Test side
session_start();
$_SESSION['test'] = "TEST";

class testClass {
    function testFunction(){
        echo("test");
    }
}

$test = new testClass();
$test->testFunction();

echo($_SESSION['test']);
?>
Avatar billede dkfire Nybegynder
05. januar 2009 - 16:27 #1
Hvor er linje 20 henne ??
Avatar billede nyp Nybegynder
05. januar 2009 - 19:36 #2
Det er echo($_SESSION['test']); havde fjernet et par linier i mellemtiden :)
Avatar billede erikjacobsen Ekspert
05. januar 2009 - 19:42 #3
Hvad vil have der sker, når du skriver  echo($_SESSION['test']);
Skal den udskrive "TEST" ?

I så fald er du faldet i hullet med navn "register globals", som netop giver sammenfald mellem almindelige variabler og fx $_SESSION-arrayet. Du skal bare erstatte

  $test = new testClass();
  $test->testFunction();

med

  $test2 = new testClass();
  $test2->testFunction();

(eller tilsvarende)

Register_globals bør være slået fra på en moderne PHP-installation. Mange webhoteller lader den være, fordi det sikkert giver færre supporthenvendelser - der er tonsvis af gamle scripts, der ikke ville virke ellers.
Avatar billede nyp Nybegynder
05. januar 2009 - 20:10 #4
Ja
Ok den kendte jeg ikke, kan se at register_globals er slået til på den server der fejler og fra på den hvor det virker.

Tak for forklaringen, et svar?
Avatar billede erikjacobsen Ekspert
05. januar 2009 - 20:11 #5
Nej tak, jeg samler slet ikke på point.
Avatar billede nyp Nybegynder
05. januar 2009 - 20:18 #6
Tænkte det nok, men tak for hjælpen
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