Link to home
Start Free TrialLog in
Avatar of TechComposer
TechComposer

asked on

Passing objects as session variables

It's my understanding that I can pass objects around during a session by simply assigning them to a session variable, as long as the class is defined before I run session_start().  That said, I'm having problems finding the right solution.  I'm trying it the way I've described above, as well as serializing/unserializing and then passing into/out of session variables.  What might I be doing wrong?
<?php
 
// include Timecard class definition
require("Timecard.php");
 
session_start();
 
if($_SESSION['logged_in_userID']) {
	$tc = new Timecard($_SESSION['logged_in_userID'],"");
        // setup page header -- removed for clarity
	// display timecard -- removed for clarity
	$_SESSION['currentTimecard'] = $tc;
} else {
	// create a new timecard -- removed for clarity
}
 
?>

Open in new window

Avatar of TechComposer
TechComposer

ASKER

To follow is the script in which I'm attempting to reload this object.  When calling "print_r($_SESSION)", I am given:

Array ( [logged_in_userID] => 1 [logged_in_admin] => 1 [currentTimecard] => Timecard Object ( [userID:private] => 1 [date:private] => 2008-06-19 11:21:53 [timecardID:private] => 252 [timecardClosed:private] => 0 [timecardActivities] => Array ( ) ) )
<?php
 
require("Timecard.php");
 
session_start();
 
if($_SESSION['logged_in_userID']) {
	// setup page header -- removed for clarity
	
	$tc = $_SESSION["currentTimecard"];
	echo "User ID: " . $tc->getUserID . "<br>";
	echo "<h3>Session Variables:</h3>";
	print_r($_SESSION);
}
 
?>

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of Roonaan
Roonaan
Flag of Netherlands image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Well, don't I look like a moron...