PHP 4.0 Bug #6700: Problem With Objects as Session Variables
| From: | dkm at cwcom dot net | Date: | Wed, 13 Sep 2000 03:01:39 +0000 |
| Subject: | PHP 4.0 Bug #6700: Problem With Objects as Session Variables | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-33075@lists.php.net to get a copy of this message | ||
From: dkm@cwcom.net
Operating system: RH Linux 6.2
PHP version: 4.0.2
PHP Bug Type: *Session related
Bug description: Problem With Objects as Session Variables
My problem appears to be the same as Bug id #6604 which, as yet, has received no feedback.
While simple variables work fine, I receive the following error with the example scripts below:
"Fatal error: The script tried to execute a method or access a property of an incomplete
object. Please ensure that the class definition person of the object you are trying to operate on
was loaded _before_ the session was started in /usr2/www/test/sessions/second.php on line 6"
If I use $ser_aperson = serialize($aperson) in first.php and unser_aperson =
unserialize($ser_aperson) then unser_aperson->print_details() works fine. I understand that
serialization of objects should be handled automatically by the session module.
person.inc
==========
class person
{
var $first_name = "John";
var $surname = "Smith";
function display_details()
{
print("First Name: ". $this->first_name. "<br>");
print("Surname: ". $this->surname. "<br>");
}
}
first.php
=========
<?
require("person.inc");
session_start();
session_register(aperson);
$aperson = new person;
?>
<html>
<head>
<title>First</title>
</head>
<body>
<a href="second.php">Second</a>
</body>
</html>
second.php
==========
<?
session_start();
?>
<html>
<head>
<title>Second</title>
</head>
<body>
<? $aperson->display_details(); ?>
</body>
</html