From:             [EMAIL PROTECTED]
Operating system: Apache
PHP version:      4.2.1
PHP Bug Type:     Session related
Bug description:  Complex objects not correctly stored in ssession

Complex objects are not correctly stored in a session.  This report is
similar to 8676, which was reported fixed.  It now appears to be broken in
4.2.1.
Here is a code scriplet to demonstrate the problem:

<?

class Alpha
{
        var $alpha1;
        var $betavar;
        function Alpha()
        {
                $this->betavar =& new Beta(&$this);     //Let Beta use Alpha's methods 
and
properties
                $this->alpha1 = 22;
        }
        function getvar()
        {
                return $this->alpha1;
        }
}
class Beta
{
        var $beta1;
        var $alphacall;
        function Beta(&$par)
        {
                $this->alphacall = &$par;               //alphacall will let Beta use 
Alpha's methods
and properties
                $this->beta1 = 5;
        }
        function getalphavar()
        {
                print("<br>The value of the alphavar from within Beta is:  " .
$this->alphacall->alpha1 );
        }
}
session_start();
if  (! session_is_registered("pm")  )
{
        session_register("pm");         // register and instantiate the variable
        $pm =& new Alpha();
}
        print("<br>The vaue of alpha1 is:  " . $pm->getvar()  );
        print("<br>The value of beta1 is:  " . $pm->betavar->beta1);
        print("<br>" . $pm->betavar->getalphavar() );


?>

OBSERVED BEHAVIOR:

When this page is loaded the first time, everything works as expected, and
the
values of alpha1, and beta 1 print out just fine. However, attempts
to refresh the page yield a browser error message "This page cannot be
displayed".

This structure worked (flakily) on 4.04pi1, and I was hoping that the fix
of 8676 would
have made it solid in 4.2.1.  However, the situation is now worse--the
above structure
NEVER works.


-- 
Edit bug report at http://bugs.php.net/?id=17419&edit=1
-- 
Fixed in CVS:        http://bugs.php.net/fix.php?id=17419&r=fixedcvs
Fixed in release:    http://bugs.php.net/fix.php?id=17419&r=alreadyfixed
Need backtrace:      http://bugs.php.net/fix.php?id=17419&r=needtrace
Try newer version:   http://bugs.php.net/fix.php?id=17419&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=17419&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=17419&r=notwrong
Not enough info:     http://bugs.php.net/fix.php?id=17419&r=notenoughinfo
Submitted twice:     http://bugs.php.net/fix.php?id=17419&r=submittedtwice
register_globals:    http://bugs.php.net/fix.php?id=17419&r=globals

Reply via email to