[RESOLU] Fatal error: main() [function.main] - class php5

- class php5 [RESOLU] Fatal error: main() [function.main] - PHP - Programmation

Marsh Posté le 20-01-2005 à 18:19:51    

bonjour
je fais actuellement un forum en php avec des classes
 
mais mon navigateur me retourne cela
[cpp][/cpp]
Fatal error: main() [function.main]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Forum" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in C:\httpd\Apache2\htdocs\php5\viewTopic.php on line 80
[/cpp]
 
alors que au debut de mon script j'ai: require_once('./class_forum.php');
j'utilise la methode de la classe sur une variable de session: $_SESSION['forum']->libelle()
 
qq1 peut aider ?


Message édité par tom261285 le 21-01-2005 à 13:27:45
Reply

Marsh Posté le 20-01-2005 à 18:19:51   

Reply

Marsh Posté le 20-01-2005 à 19:44:08    

Code :
  1. $_SESSION['forum']->libelle()


 
C'est ça qui est à la ligne 80 du fichier viewTopic.php ?

Reply

Marsh Posté le 20-01-2005 à 19:57:03    

oui

Reply

Marsh Posté le 20-01-2005 à 22:21:17    

Ton session_start() il est avant ou après le require_once ?

Reply

Marsh Posté le 20-01-2005 à 22:31:59    

Code :
  1. session_name("session" );
  2. session_start();
  3. $_SESSION['id_session']=session_id();
  4. $_SESSION['nom_session']=session_name();
  5. require_once('./class_mysql.php');
  6. require_once('./class_date.php');
  7. require_once('./class_forum.php');
  8. require_once('./class_topic.php');
  9. require_once('./class_message.php');


 
comme ca

Reply

Marsh Posté le 21-01-2005 à 08:00:11    

C'est pour ça :)
 
Faut que tu fasse tes require_once avant.
En effet, les instances de classes sont stockées "sérialisée" dans la session. Au moment où tu fais le session_start(), il fait le unserialize (comme indiqué dans le message d'erreur). Donc c'est à ce moment là qu'il doit avoir la déclaration des classes dont les instances sont en session.
 
Si je peux me permettre :

Code :
  1. $_SESSION['id_session']=session_id();
  2. $_SESSION['nom_session']=session_name();

est inutile (où alors j'en vois pas l'intérêt :) ).

Reply

Marsh Posté le 21-01-2005 à 13:27:14    

:pt1cable: rien compris  :lol:  
mais ca fonctionne !
je te remercie de ton aide ratibus ! :jap:

Reply

Marsh Posté le 21-01-2005 à 13:31:35    

Avec plaisir :)
 
En espérant que tu comprennes un jour ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed