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