chat virker ikke
hey....jeg har en chat som ikke lige virker helt efter hensigten?? lige når man logger ind er det fint nok... men lige så snart den opdaterer en gang bliver den samme tekst smidt ind igen.... og det bliver den så ved med... hver gang den opdaterer smider den teksten ind igen så den samme tekst kommer flere gange..
her er kilden:
------------------------------------------------------------
chat.php
------------------------------------------------------------
<script type="text/JavaScript">
var maxNumMsgs = <?=$CHAT_MAX_LINES?>;
function gE(id)
{
return document.getElementById(id)
}
function gA(o,tN)
{
return o.getElementsByTagName(tN)
}
function write_to_chat(a)
{
var tbl = gE('chat');
for(i=0; i<a.length; i+=3)
{
var newRow = tbl.insertRow(0);
var newCell = newRow.insertCell(0);
<?
if($USER[set_chat_timestamp])
{
echo 'newCell.innerHTML = a[i+1] + " ";';
echo 'newCell.className = "chat_timestamp";';
}
?>
var newCell = newRow.insertCell(1);
if(a[i])
{
newCell.innerHTML = '<span class="chat-text"><b>'+a[i]+' : </b>'+a[i+2]+'</span>';
newCell.className = "chat_celle";
}
else
{
newCell.innerHTML = "-- "+a[i+2]+" --";
newCell.className = "chat_log";
}
}
var numMsgs = gA(tbl, 'TR').length;
while(numMsgs > maxNumMsgs)
{
tbl.deleteRow(numMsgs-1);
numMsgs--;
}
}
</script>
<div class="div_chat">
<table id="chat" cellspacing="0" cellpadding="0">
</table>
</div>
<form name="form_msg" target="chat_msg" action="iframe_chat_msg.php" method="post" autocomplete="off">
<input style="width: 400px;" type="text" name="msg" maxlength="255"><input type="submit">
</form>
<iframe class="iframe_hidden" name="chat_msg" src="iframe_chat_msg.php"></iframe>
<iframe src="iframe_chat.php"></iframe>
------------------------------------------------------------
iframe_chat.php
------------------------------------------------------------
<script type="text/JavaScript">
var a = new Array();
<?
if(!$_GET[time]) $_GET[time] = 0;
$get = mysql_query("SELECT * FROM pd.chat WHERE time>'$_GET[time]' ORDER BY time");
while($row = mysql_fetch_array($get))
{
$get2 = mysql_query("SELECT user, color FROM pd.users WHERE id='$row[user]'");
$user = mysql_fetch_array($get2);
if($user[color]) $string .= 'a[a.length] = \'<font color="#'.$user[color].'">'.addslashes($user[user]).'</font>\';';
else $string .= 'a[a.length] = "'.addslashes($user[nick]).'";';
$string .= 'a[a.length] = "'.date("H:i", $row[time]).'";';
$string .= 'a[a.length] = "'.$row[msg].'";';
$time = $row[time];
}
echo $string;
echo 'parent.write_to_chat(a);';
echo 'setTimeout("location.href=\''.basename($_SERVER[PHP_SELF]).'?time='.$time.'\'", '.$CHAT_REFRESH.');';
?>
</script>
------------------------------------------------------------
iframe_chat_msg.php
------------------------------------------------------------
if($_POST[msg])
{
$time = time();
$msg = trim(addslashes(htmlspecialchars($_POST[msg])));
mysql_query("INSERT INTO pd.chat SET user='$_SESSION[userid]', msg='$msg', time='$time'");
//mysql_query("UPDATE _pd.online SET last_msg='$time' WHERE user='$_SESSION[userid_chat]'");
$exceed_time = $time - $CHAT_MSG_EXCEED;
mysql_query("DELETE FROM pd.chat WHERE time<'$exceed_time'");
}
?>
<script type="text/JavaScript">
parent.document.form_msg.msg.value = '';
parent.document.form_msg.msg.focus();
</script>
