Sumit Sharma wrote: > What I have done is declared one User class in a separate file and created > its object there only. After this included this file in all other file which > are using its object. So the object is creating only once and included in > every other file only once. Now when I over write its variable it value get > lost when I send the user in other file. > > The confusion is if I have created only one object of a class and used the > same object through out the site how its value can get lost and I think this > is a separate issue than setting $_SESSION variables. > This is roughly how it works: <?php //user.php $user = new User(); class User { //some stuff } ?> <?php //file a.php //NEW $user object is created include('user.php'); //do some stuff //$user is DESTROYED, end of script ?> <?php //file b.php //NEW $user object is created include('user.php'); //do some stuff //$user is DESTROYED, end of script ?> If you want to keep the first $user object and persist it across pages, then you can many different things, but you need to put it in the session. One example (you could also write a session class to take care of all of your session stuff): <?php //user.php class User { //some stuff } ?> <?php //file a.php include('user.php'); session_start(); if(isset($_SESSION['user'])) { $user = unserialize($_SESSION['user']); } else { $user = new User(); } //do some stuff //save $user to session $_SESSION['user'] = serialize($user); //$user is DESTROYED, end of script, but $_SESSION['user'] persists ?> <?php //file b.php include('user.php'); session_start(); if(isset($_SESSION['user'])) { $user = unserialize($_SESSION['user']); } else { $user = new User(); } //do some stuff //save $user to session $_SESSION['user'] = serialize($user); //$user is DESTROYED, end of script, but $_SESSION['user'] persists ?> -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php