05. januar 2009 - 16:01Der 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"); } }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.
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.