By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,776 Members | 1,506 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,776 IT Pros & Developers. It's quick & easy.

Saving Object in a session...

P: n/a
Joe
Hi all,

I'm a java programmer learning PHP. I was wondering how to save a
class over a session. As a simple example, if I wanted to have a
Class called Sum, which had the methods addToSum($a), and printSum().
Could I save that object into a session, so that I could use it later
as the user navigates my webpage?

Is a session the best way to store data as a user goes between
webpages?

thanks,

Jul 17 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Joe wrote:
Hi all, Hi :)
I'm a java programmer learning PHP. I was wondering how to save a
class over a session. As a simple example, if I wanted to have a
Class called Sum, which had the methods addToSum($a), and printSum().
Could I save that object into a session, so that I could use it later
as the user navigates my webpage? Depending on your version of PHP, you could probably do so. It might be
advisable to serialize() the object, and unserialize() it when you use
the object, if you wish to store it to an SQL database later, or are
using an old version of PHP, but if you're doing something that simple,
it should work fine. Is a session the best way to store data as a user goes between
webpages?

It is the easiest, and generally the fastest. Unless you need customized
options it should be fine :)

-Joshua Gao
Jul 17 '05 #2

P: n/a
"Joe" <sn***@email.arizona.edu> a écrit dans le message de news:
11**********************@o13g2000cwo.googlegroups. com...
Hi all,

I'm a java programmer learning PHP. I was wondering how to save a
class over a session. As a simple example, if I wanted to have a
Class called Sum, which had the methods addToSum($a), and printSum().
Could I save that object into a session, so that I could use it later
as the user navigates my webpage?

Is a session the best way to store data as a user goes between
webpages?

thanks,

Hi,
No problem, you can do that easily.
Sessions are made for this .. :-)
Jul 17 '05 #3

P: n/a
Following on from (¯`·..Yttrium ...·´¯)'s message. . .
"Joe" <sn***@email.arizona.edu> a écrit dans le message de news:
11**********************@o13g2000cwo.googlegroups .com...
Hi all,

I'm a java programmer learning PHP. I was wondering how to save a
class over a session. As a simple example, if I wanted to have a
Class called Sum, which had the methods addToSum($a), and printSum().
Could I save that object into a session, so that I could use it later
as the user navigates my webpage?

Is a session the best way to store data as a user goes between
webpages?

thanks,

Hi,
No problem, you can do that easily.
Sessions are made for this .. :-)

But watch out for the way PHP copies/assigns variables.

This works fine
$adder = new myAdder(0);
$adder->plus(5);
$adder->plus(7);
print($adder->total()); // 12

But this doesn't (may not)
$adder = new myAdder(0);
$adder->plus(5);
$_SESSION['ADDER']=$adder;
$adder->plus(7);
print($adder->total()); // 12
print($_SESSION['ADDER']->total()); // 5 Is this what you wanted?

But this is the way to do it
$_SESSION['ADDER']= & $adder; //<<<<<<< &

--
PETER FOX Not the same since the submarine business went under
pe******@eminent.demon.co.uk.not.this.bit.no.html
2 Tees Close, Witham, Essex.
Gravity beer in Essex <http://www.eminent.demon.co.uk>
Jul 17 '05 #4

P: n/a
Following on from Joe's message. . .

My last post in this thread was off the top of my head.
The & is used when getting access to the session rather than putting it
in in the first place.
Here is a code snippet which appears in many pages.
database is a home-grown class and references to session database are
similar.
It is the last line which says "$db will refer to the object in the
session"
Sorry about the earlier confusion.

// get database connection
if(!DoesSessionDatabaseExist()){
$db = new database('localhost','sukuser','NOTTHEPASSWORD','s ukas');
$x=$db->Connect();
if($x){
print("<p>Error connecting to database<br>$x<p>");
exit;
}
PutDatabaseInSession($db);
}
$db = & SessionDatabase();
--
PETER FOX Not the same since the submarine business went under
pe******@eminent.demon.co.uk.not.this.bit.no.html
2 Tees Close, Witham, Essex.
Gravity beer in Essex <http://www.eminent.demon.co.uk>
Jul 17 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.