473,320 Members | 2,052 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

userialize bug?

Hello, I use php4.4.1 and when a user log in I use a class which stores
some info for the user. I serialize the class in a session variable.
I later on read the session var and unserializd to check for certain
user info.

When I moved the files to my host server which uses php4.3 I noticed a
strange behaviour. The first time I unserialize the session var is ok.
But then this session var gets empty.
To overcome this I have to serialize the class again before leaving the
page. But that does not always work.

Has anybody else seen this behaviour?

thanks
Sep 9 '05 #1
3 1245

Harris Kosmidis wrote:
Hello, I use php4.4.1 and when a user log in I use a class which stores
some info for the user. I serialize the class in a session variable.
I later on read the session var and unserializd to check for certain
user info.


Since all information that is stored in session variables is
automatically serialized, you don't have to serialize it yourself.

Try just storing the class without doing the serialize and retrieve it
without doing the unserialize and see what happens.

Ken

Sep 9 '05 #2
Ken Robinson wrote:
Harris Kosmidis wrote:
Hello, I use php4.4.1 and when a user log in I use a class which stores
some info for the user. I serialize the class in a session variable.
I later on read the session var and unserializd to check for certain
user info.

Since all information that is stored in session variables is
automatically serialized, you don't have to serialize it yourself.

Try just storing the class without doing the serialize and retrieve it
without doing the unserialize and see what happens.

Ken


I don't quite undrstand. What I want is to use the same class (with the
same vars filled in upon login) in many pages. That's why I use session
vars and serialize.
Is there a limit on how many bytes a SESSION var can store? (though my
data are less than 5Kb). And why doesn't this fail in php4.2?
Sep 10 '05 #3
Harris Kosmidis said the following on 10/09/2005 09:26:
Ken Robinson wrote:
Harris Kosmidis wrote:

Hello, I use php4.4.1 and when a user log in I use a class which stores
some info for the user. I serialize the class in a session variable.
I later on read the session var and unserializd to check for certain
user info.

Since all information that is stored in session variables is
automatically serialized, you don't have to serialize it yourself.

Try just storing the class without doing the serialize and retrieve it
without doing the unserialize and see what happens.


I don't quite undrstand. What I want is to use the same class (with the
same vars filled in upon login) in many pages. That's why I use session
vars and serialize.


The point is, you don't need to use serialize() and unserialize(), just
assign the class object to the session variable directly, i.e.:

$_SESSION["obj"] = $obj;

...

$obj = $_SESSION["obj"];
Beware the warning in the manual:

"Some types of data can not be serialized thus stored in sessions. It
includes resource variables or objects with circular references (i.e.
objects which passes a reference to itself to another object)."
--
Oli
Sep 10 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.