Probleem inhoud uitlezen van een class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rembem

Rembem

22/11/2008 20:03:00
Quote Anchor link
Goedendag,
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
session_start();
include('class/persoon.php');
$_SESSION['naam'] = new persoon('test');
header('location: weergeven.php');
?>

weergeven.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'];
?>

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!
 
PHP hulp

PHP hulp

15/11/2024 03:26:29
 
Onbekend Onbekend

Onbekend Onbekend

22/11/2008 20:13:00
Quote Anchor link
Echo van een object is niet mogelijk. En je moet ook geen object in een sessie stoppen ;)
 
Rembem

Rembem

22/11/2008 20:21:00
Quote Anchor link
Maar als je bijv dit doet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$persoon
= new persoon('test');
echo $persoon;
?>

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?
 
Flip --

Flip --

23/11/2008 15:26:00
Quote Anchor link
toString() is dat niet een zelf gedifineerde functie?
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.
 
Citroen Anoniem Graag

Citroen Anoniem Graag

23/11/2008 15:49:00
Quote Anchor link
Volgens mij moet je de class definieren voordat je de sessie start.
Dus eerst de includes en daarna session_start(). Anders krijg je heel vreemde objecten
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.