Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Незаметное обновление, разработка чата (https://javascript.ru/forum/server/8061-nezametnoe-obnovlenie-razrabotka-chata.html)

malkolm 04.03.2010 18:27

Незаметное обновление, разработка чата
 
Народ пишу свой чат.
вот скрипт текста
text.php
<?php
include"../../functions/valid.php";
include"../../functions/functions.php";
mysql_connect_db($mysql_host, $mysql_login, $mysql_pass, $mysql_db);
@session_start();
$length_query = mysql_query("SELECT * FROM message");
$length_2 = mysql_num_rows($length_query);
$login = $_SESSION['valid_user'];
$date = time();
mysql_query("UPDATE users SET active='$date' WHERE login='$login'");
if($length_2 > 25)
{
$length = $length_2 - 25;
}
else
{
$length = '1';
}
$text = mysql_query("SELECT * FROM message order by id limit $length,$length_2");
while ($row = mysql_fetch_array($text))
{
echo '<br><font size=2>'.$row['text'].'</font>';
}
echo '<div id="peop_status"></div>';
echo '<script>window.scrollTo(0,document.body.scrollHeight); 
document.getElementById("peop_status").style.background="yellow";</script>';
 
?>

form_text.php
вот он сам файл в котором обрабатывется весь текст

<script language="javascript" type="text/javascript">
function getXmlHttp(){ // получение объекта
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}


/////////////////////////////
function func1()
{
	var query="name=";
    xmlhttp.open('POST', 'chat/text.php', true);
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
	xmlhttp.onreadystatechange=Refresh;
	xmlhttp.send(query); // отправка
}
var xmlhttp = getXmlHttp(); // создание объекта
function Refresh()
{   // объект работает
	if (xmlhttp.readyState == 4) {
        if(xmlhttp.status == 200) { // - OK (данные получены)
		    document.getElementById('apDiv1').innerHTML=xmlhttp.responseText;
        } else {alert('ошибка')}
	} else {
	    document.getElementById('apDiv1').innerHTML='Идет работа...';
	}
}
</script>
<script language="javascript">
setInterval("func1()",1000);
window.scrollTo(0,document.body.scrollHeight); 
document.getElementById("peop_status").style.background="yellow";
</script>

не могу решить проблему с обновлением.Очень заметно что фрейм обновляется.Может кто то поможет решить данную проблему?

Kolyaj 04.03.2010 18:33

http://javascript.ru/ajax

4ITEROK 05.03.2010 11:09

советую скачать готовый движок чата, и работать над ним. Разбирать, собирать, редактировать.
Заниматся написанием своего чата, это тупость и не актуальность, их щас очень много готовых. Нет, ну если ты конечно хочешь чат написать который будет отличатся от всех, тогда Флаг в Руки)

Riim 07.03.2010 10:22

Цитата:

Сообщение от 4ITEROK
это тупость и не актуальность

это опыт.


Часовой пояс GMT +3, время: 00:55.