Re: passing an object using session var
| From: | Thomas Munz | Date: | Wed, 29 Nov 2006 15:35:57 +0000 |
| Subject: | Re: passing an object using session var | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-245281@lists.php.net to get a copy of this message | ||
Try that:
--script1---
<?php
include("TestClass.php");
session_start();
$obj = new TestClass();
$obj->setName('MyName');
$obj->display(); // outputs 'MyName'
$str_object = serialize($obj); //-- You need to serialize an object ( see php.net manual ) in order
to make an object working via session
$_SESSION['obj'] = $str_object: //-- save serialized string in the session,note: Use
$_SESSION instead of session_register();
header("Location: http://localhost/~lr/webProj/photoAlbum2/sessionReceiveObj.php");
// re-direct to script2
---script 2----
<?php
include("TestClass.php");
session_start();
$newObj = unserialize($_SESSION['obj']); //-- convert string back into object
$newObj->display(); // MyName
on Wednesday 29 November 2006 16:18, list arama wrote:
> Why am I not able to access the obj name field in script 2?
>
> thanks in advance,
>
> --script1---
>
> <?php
>
> include("TestClass.php");
>
> session_start();
> session_register('obj');
>
> ob_start();
>
> $obj = new TestClass();
>
> $obj->setName('MyName');
> $obj->display(); // outputs 'MyName'
>
> header("Location:
>
> http://localhost/~lr/webProj/photoAlbum2/sessionReceiveObj.php");
> //
> re-direct to script2
>
> ob_flush();
>
> ?>
>
> ---script 2----
>
> <?php
>
> include("TestClass.php");
>
> session_start();
>
> $newObj = $HTTP_SESSION_VARS['obj'];
>
> $newObj->display(); // no output, meaning no data?
>
> $newObj->setName('Michael');
> $newObj->display(); // outputs 'Michael' using obj methods
>
> ?>