Probleem inhoud uitlezen van een class
Ik heb een probleem met het uitlezen van een class. Ik heb een class gemaakt die sla ik op in een session als ik die op de zelfde bladzij uitlees dan doet hij het gewoon maar op moment dat ik hem uitlees op een andere pagina dan krijg ik deze error:
Catchable fatal error: Object of class __PHP_Incomplete_Class could not be converted to string in weergeven.php on line 6
Terwijl als ik op die pagina weergeven een nieuw object aan maak in die classe ik hem wel gewoon kan uitlezen.
stukje code:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
session_start();
include('class/persoon.php');
$_SESSION['naam'] = new persoon('test');
header('location: weergeven.php');
?>
session_start();
include('class/persoon.php');
$_SESSION['naam'] = new persoon('test');
header('location: weergeven.php');
?>
weergeven.php:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
session_start();
require('class/persoon.php');
$_SESSION['naam2'] = new persoon('test2');
echo $_SESSION['naam2']."<br />";
echo $_SESSION['naam'];
?>
session_start();
require('class/persoon.php');
$_SESSION['naam2'] = new persoon('test2');
echo $_SESSION['naam2']."<br />";
echo $_SESSION['naam'];
?>
Resultaat:
test2
Catchable fatal error: Object of class __PHP_Incomplete_Class could not be converted to string in weergeven.php on line 6
Ik heb de functie __toString() aangemaakt.
Weet iemand wat het probleem kan wezen?
Alvast bedankt!
Echo van een object is niet mogelijk. En je moet ook geen object in een sessie stoppen ;)
Dan krijg je toch ook dit te zien:
test
aangezien er een toString() in de class zit. Waarom gaat het dan mis als je het ip plaats van een normale variable in een session variable opslaat?
Ik denk niet dat dat automatisch wordt aangeroepen ofzo als je het in de sessie probeert op te slaan.
Misschien kan je wat met serialize ofzo doen.
Ik vraag me trouwens af waar ik kan lezen welke dingen ik in een sessie kan stoppen en welke niet.
Dus eerst de includes en daarna session_start(). Anders krijg je heel vreemde objecten