0p3n_p0rT Posted March 25, 2006 Share Posted March 25, 2006 Hi, I recently made a chatroom in php. All messages are written to a chat log, and that chat log is what is read in the conversation screen, which is an iframe. However, I need the frame to refresh every 2 seconds or so, so that it is constantly updated.At the moment, I am using:[code]<META HTTP-EQUIV="Refresh" CONTENT="2"; URL="chatlog.htm">[/code]However, whenever it refreshes and the length of the chat goes beyond the iframes capacity, a scroll bar appears. I want it to automatically keep to the bottom, as whenever it refreshes, it takes the browser to viewing the top part of the iframe. Also, whenever there is a new message, I want it to automatically scroll down to it so it is in view.How could I do this?Also, with the PHP:I have a "connected" list. Whenever someone joins the page, the username from their session is logged to "connected.php". However, I want it to be removed when they exit the chat. Not all people would use a "logout" button so I would need it to somehow remove their name from the connected log file when their session is killed. How could I do that? Link to comment https://forums.phpfreaks.com/topic/5735-javascripthtmlphp-chatroom/ Share on other sites More sharing options...
Gast Posted March 25, 2006 Share Posted March 25, 2006 [!--quoteo(post=358114:date=Mar 25 2006, 01:36 AM:name=0p3n_p0rT)--][div class=\'quotetop\']QUOTE(0p3n_p0rT @ Mar 25 2006, 01:36 AM) [snapback]358114[/snapback][/div][div class=\'quotemain\'][!--quotec--]Hi, I recently made a chatroom in php. All messages are written to a chat log, and that chat log is what is read in the conversation screen, which is an iframe. However, I need the frame to refresh every 2 seconds or so, so that it is constantly updated.At the moment, I am using:[code]<META HTTP-EQUIV="Refresh" CONTENT="2"; URL="chatlog.htm">[/code]However, whenever it refreshes and the length of the chat goes beyond the iframes capacity, a scroll bar appears. I want it to automatically keep to the bottom, as whenever it refreshes, it takes the browser to viewing the top part of the iframe. Also, whenever there is a new message, I want it to automatically scroll down to it so it is in view.How could I do this?Also, with the PHP:I have a "connected" list. Whenever someone joins the page, the username from their session is logged to "connected.php". However, I want it to be removed when they exit the chat. Not all people would use a "logout" button so I would need it to somehow remove their name from the connected log file when their session is killed. How could I do that?[/quote]For the refreshing, when you generate the results of the chat, then add an anchor link to the last result:[code]<a name="latestmsg"></a>[/code]Then refresh with:[code]<META HTTP-EQUIV="Refresh" CONTENT="2"; URL="chatlog.htm#latestmsg">[/code]For the PHP, the only way I think possible is to use AJAX. Take a look at the links in my sig at learning how to use it, but basically you can send a request using the "onabort" event:[code]<body onabort="sendRequest('logout', '<? echo $_SESSION['user_id']; ?>');">[/code]Or something similar, as you cannot actually execute a PHP function with a JS event handler. Hope that helps! :) Link to comment https://forums.phpfreaks.com/topic/5735-javascripthtmlphp-chatroom/#findComment-20523 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.