From: [EMAIL PROTECTED]
Operating system: win 98/PWS
PHP version: 4.1.1
PHP Bug Type: Session related
Bug description: objects in sessions
I tried to use objects in session variables, but when i try to catch and
print their properties into another page there is the following error:
Fatal error: The script tried to execute a method or access a property of
an incomplete object. Please ensure that the class definition user of the
object you are trying to operate on was loaded _before_ the session was
started in C:\Inetpub\wwwroot\Mail\mail2.php on line 13
I mention that i include a script defining the class structure in both of
the pages below.
Also I used the functions serialize() and unserialize(), and it works fine
with them, but in documentation it sais that when jumping between two
pages in a session the objects are serialized automatically !
There are the 3 files that i use, in a win 98 environment, with php 4.1.1
installed with the default configuration and default php.ini, and set up
to include automatically in url the session id.
*******mail.php*******
<?php
include("class.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>MailBox</title>
</head>
<body>
<?php
$objLogin=new User;
$objLogin->User="DanMaster";
$objLogin->Password="test";
session_register("objLogin");
echo "User={$objLogin->User}<br>";
echo "Password={$objLogin->Password}<br>";
?>
To continue, <A HREF="mail2.php">click here</A>
</body>
</html>
*******mail2.php*******
<?php
include("class.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php
global $objLogin;
?>
User=<?php echo $objLogin->User?><br>
Password=<?php echo $objLogin->Password?>
</body>
</html>
*******class.php*******
<?php
class User {
var $User;
var $Password;
}
?>
--
Edit bug report at http://bugs.php.net/?id=15525&edit=1
--
Fixed in CVS: http://bugs.php.net/fix.php?id=15525&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=15525&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=15525&r=needtrace
Try newer version: http://bugs.php.net/fix.php?id=15525&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=15525&r=support
Expected behavior: http://bugs.php.net/fix.php?id=15525&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=15525&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=15525&r=submittedtwice