Re: passing an object using session var

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/29/06, Jochem Maas <jochem@xxxxxxxxxxxxx> wrote:
Thomas Munz wrote:
> 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

DONT SERIALIZE! its done automatically

>
> $_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

DONT UNSERIALIZE! its done automatically

> $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');

session_register() et al are going the way of the dino.
just use $_SESSION directly, just remember to call session_start()
before you try to use $_SESSION

>>
>> 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
>>
>> ?>
>

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



It might be worth noting that if you are using php4 remember to pass
your object by reference when setting/retrieving from the session.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux