Ok, assuming everything's working correctly except for the use of $prevtime in the SESSION, then here's one answer:
Yes, you can name a session the way you described. If you're having trouble with doing the concatenation of values inside $_SESSION, then try combining them outside: $roomname="sampleroom"; $sessionname = $roomname . $prevtime; $_SESSION[$sessionname]=time(); Secondly, looks like you forgot a "$" on prevtime below: $_SESSION["$roomname" . "prevtime"]=time(); Thirdly, you can store arrays in $_SESSION as well, so you could divide the rooms up that way: $_SESSION[$roomname]["PrevTime"] = $prevtime; -TG > -----Original Message----- > From: John Gostick [mailto:[EMAIL PROTECTED] > Sent: Friday, September 10, 2004 5:47 PM > To: PHP General > Subject: [PHP] Can I name a session variable using another variable? > > > 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