[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Чат
rocker
Вот очень простой скрипт чата использует для хоанения сообщенй текстовый файл...в страницу я его вставляю через include('chat.php'). Как реализовать самообновляемость чата чтобы не приходилось страницу главную обновлять вручную?
<?


$border="1"; //// - чтобы убрать рамку поменяйте значение 1 на 0
$colortime="blue"; //// - цвет времени
$colornick="red"; //// - цвет ника
$bgcolor="black"; //// - цвет фона
$colormsg = green; //// - цвет сообщений чата
$width="500"; //// - ширина окна чата
$height="500"; //// - длина окна чата

setcookie("chat_nick",$_POST["nick"]);
$cook = $_COOKIE["chat_nick"] ;

if($_POST)
{
header("Location: {$_SERVER['PHP_SELF']}");
header("Location: {$_SERVER['HTTP_REFERER']}");
}

$date=date("H:i:s");
$file_msg = fopen("msg.txt","a+");
$file_msg_read = file("msg.txt");
$revers_file=array_reverse($file_msg_read);

echo ("<table border='$border' cellspacing=0 cellpadding=0>
<tr bgcolor='
$bgcolor'>
<td><div style ='width:
$width; height:$height; overflow-y:auto'>");


if(!$file_msg_read)
{
echo("Нет сообщений");
}
else
{
for($i=0; $i < count($revers_file); $i++)
{
printf("<font color='$colormsg'>%s", $revers_file[$i]);
}
}



echo("</table><br>

<form action=chat.php method=POST >
<input type=text name=nick value=
$cook><br>
<input type=text name=msg value=Сообщение onblur=if(this.value=='')this.value='Сообщение' onfocus=if(this.value=='Сообщение')this.value='' ><br>
<input type=submit value=Отправить >"
);

$nick=$_POST["nick"];
$msg=$_POST["msg"];




if(!empty($msg)&&!empty($nick))
{
fwrite($file_msg,("\r\n<font color=$colortime> ($date) <font color=$colornick> $nick </font></font>:<br>$msg<hr>"));
fclose($file_msg);
}
echo($result);
?>




Спустя 6 минут, 40 секунд (26.02.2010 - 16:09) DedMorozzz написал(а):
что под "самообновляемостью" подразумевается? Обновление каждые N секунд(минут,часов...) или же - после каждого нового сообщения

Спустя 18 минут, 57 секунд (26.02.2010 - 16:28) rocker написал(а):
После каждого сообщения

Спустя 8 минут, 13 секунд (26.02.2010 - 16:36) DedMorozzz написал(а):
Мы играем в забавную игру. Моя цель вытянуть с тебякак можно больше, а твоя - сказать как можно меньше при этом. Только тут 1 "но" - это тебе таки надо. Напиши норм что и как хочешь.
Обновлялось у того кто отправил? Или же обновлялось у всех, как только кто-то отправил сообщение, что бы его обвновлёную версию видели все. И обновлялась вся страница или же тока её шмат, где пишутся букавки.

Спустя 34 минуты, 43 секунды (26.02.2010 - 17:11) rocker написал(а):
Мне нужно чтобы обновлялось окно чата у всех пользователей. Хотябы простым обновлением через определенное время, но желательно когда появляется сообщение... smile.gif

Спустя 7 минут (26.02.2010 - 17:18) blade написал(а):
чтоб не обновлялась вся страница можно сделать че нить тапи такого
<iframe frameborder="0" width="100%" height="600зч" src="chat.php" marginheight="2" marginwidth="2" scrolling="no" allowtransparency="yes" name="chatads" style="border:#000000 1px solid;"></iframe>

соответственно этот код вставить на ту страницу где будет сам чат а чтоб обновлялось можно сделать
<meta http-equiv="refresh" content="10; url=chat.php">
где 10 значит через сколько секунд

Спустя 6 минут, 33 секунды (26.02.2010 - 17:24) DedMorozzz написал(а):
Если тока окно чата - т.е. перегрузка части страницы - то юзай AJAX. Но для чата это ох как не желательно, если будет, конечно, не 3-4 человека там общаться.
З.Ы.: блин, нажал отправить и полез дальше в код...А передо мной кто-то написал и не оправилось сразу)

Спустя 9 минут, 38 секунд (26.02.2010 - 17:34) rocker написал(а):
Так и будет человека 3 - 4)) про аякс очень интерестно...седня рылся ничего толком не нашел dry.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.