Hi John,
I would recommend making $_SESSION['prevtime'] an array
$roomname = 'sampleroom';
if (!isset($_SESSION['prevtime'])) {
$_SESSION['prevtime'] = array();
}
$_SESSION['prevtime'][$roomname] = time();
Then, you can
if (isset($_SESSION['prevtime'][$roomname])) {
// update the session subvariable, or use it
} else {
// create the session subvariable
}
Regards,
Greg
John Gostick wrote:
Hi,
I've encountered a problem I can't seem to find much reference to on the web, so I
was wondering if anyone here could help me...
Fisrt a brief background:
I am building a fairly simple PHP/MySQL chat system with multiple rooms. Each room is loaded from the main chat page by clicking on a link that uses JavaScript to open and size a new window, and also passes the roomname as a variable to the new chat window. Messages sent from a room are tagged with the roomname, and the window refreshes periodically to look for new messages(rows) in the database that have that rooms name. In this way a room only recieves messages meant for it. So far so good. However, to determine what messages are new, a SESSION variable $prevtime is set each time the script checks for new messages, so that next time it checks, it will only download messages posted SINCE the time given in $prevtime. This was not a problem with a single room, but when multiple rooms are open they are sharing the same session variable $prevtime because they are all using the same session as they were all opened from the same window. This leads to 'skipping' of messages and
not all messages being picked up by each room.
I've stratched my head over this, and decided to try and generate a unique SESSION
variable for each room, named using the string 'prevtime' prefixed with the value of
the variable $roomname (the name of the current room). However I can't seem to get
this to work.
To summarise my problem: Can I name/create a session variable like this?:
$roomname="sampleroom";
$_SESSION["$roomname" . "prevtime"]=time();
With the aim of making a session variable named 'sampleroomprevtime'. It is possible
to use a variable in naming a session this way? I would really appreciate any help
anyone could give me in making this work, or any suggestions of a better way from
people with a much better knowledge of sessions than myself!
Thanks in advance,
John
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php