Виртуальный Брест
Главная Портал Форум Рассылки Контакт Для клиентов Статьи

Геологические работы
Геологические работы
 
Экскурсии в Европу, из Бреста!
Экскурсии в Европу, из Бреста!
 
Каждая 5-я пломба бесплатно!
Каждая 5-я пломба бесплатно!
 

Виртуальный хостинг - дом для вашего сайта - лучшее предложение в Бресте!


Полный список глав книги

Свой чат – это просто - 3


Потом открываем соединение с файлом чата, обеспечивая возможность записи туда информации (за это отвечает параметр “a+” в fopen) и, если соединение успешно открыто (оператор заключен в условие, а оно будет иметь значение истины, только если соединение успешно открыто), делаем собственно саму запись и закрываем соединение.

if ( $name_kto == $person ) { $met = $i; $i = 10000; }

Если среди списка присутствующих в чате обнаружен входящий сейчас ник, прекращаем обработку и устанавливаем метку, что ник уже есть в чате. Это бывает тогда, когда человек по каким-то причинам покинул чат, а его ник еще не удален из списка присутствующих, и хочет вновь войти, чаще всего такое получается по причине потери или обрыва связи.

 }

   $i++;

   endwhile;

Конец цикла. Все скобки закрыты, информация обработана.

Проверяем метку, новый это ник пришел, или он уже там есть:

if ($met == -1) {

 $sav = "$name_rob~$time~Вошел $person~\n";

 $fp = fopen($file_logchat, "a+");

 if ($fp) { $fw = fwrite($fp, $sav); fclose($fp); }

$kto[] = "$person~$time_nast\n";

Не правда-ли, знакомый нам блок? Робот сообщает в чат, что вошел такой-то ник. Аналогично только что рассмотренному нами блоку с сообщением о выходе из чата. В последней строчке мы добавляем новичка, только что вошедшего в чат в массив из файла с присутствующими никами.

 } else { $kto[$met] = "$person~$time_nast\n"; }

Вот что получается у нас в файле с сообщениями:

Иначе, если входящий ник все же уже есть в чате, просто обновляем его информацию в массиве, который в дальнейшем будет записан в файл со списком тех, кто присутствует в чате. Обратите внимание, что запись идет в нужном нам формате: ник, тильда, текущее время, перевод строки. Это, как я уже говорил, формат хранения данных в этом файле.

$sav   = implode("\n", $kto);

$sav   = str_replace ("\n\n","\n", $sav);

$sav   = str_replace ("\n\n","\n", $sav);

Преобразовываем весь массив в одну переменную и вырезаем двойные и тройные переводы строк, которые там могут случайно оказаться.

$fp = fopen($file_kto_in_chat, "w");

if ($fp) { $fw = fwrite($fp, $sav); fclose($fp); }

?>

И, записываем эту строку с обновленными данными в файл, предварительно полностью обнулив его. Дальше – простой код, отвечающий за формирование странички HTML:

<html><head><title>Чат сайта Виртуальный Брест</title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>

А вот и более интересный код. В нем формируются фреймы, в которых будет работать чат. Их (фреймов) должно получиться 4, и размеры каждого можно свободно регулировать, изменяя в ту или иную сторону цифры.

<frameset framespacing=0 rows="54,*,70">

<frame name=baner scrolling=no noresize target=baner src=baner.phtml>

<frameset cols=200,*>

<frame name=userlist target=userlist src=userlist.phtml frameborder=0 scrolling=1>

<frame name=main_window src=main_window.phtml frameborder=0>

</frameset><frame name=msg scrolling=no noresize target=msg src=msg.phtml frameborder=0>

</frameset>

Готово. На этом с подготовкой окончено, переходим к непосредственно вводу, выводу сообщений и показу присутствующих в чате.

Читать еще...



Рон Севердиа, Кеннет Краудер

Joomla. Создание сайтов без программирования
Почему Joomla стала такой популярной? Это легко объяснить. Благодаря данной системе можно создавать сайты и веб-приложения, не обладая ни квалификацией программиста, ни опытом...

Б. Лоусон, Р. Шарп

Изучаем HTML5. Библиотека специалиста
Эта книга, существенно обновленная и дополненная во втором издании, посвящена изучению нового стандарта веб-программирования HTML5 и использованию новых функциональных...

П. Альбитц

DNS и BIND
Лучшая книга про DNS наконец-то на русском!`DNS и BIND` - воистину стала библией для каждого системного администратора, и это доказано временем. Книга выдержала четыре издания! И...

Майкл Доусон

Программируем на Python
Эта книга — идеальное пособие для начинающих изучать Python. Руководство, написанное опытным разработчиком и преподавателем, научит фундаментальным принципам...

    Информация

Главная - переход на начало
Тарифы на Российский хостинг
Правила - что можно а что нет
Заказ - сделайте это сейчас
Выбор домена - найди свое имя
Регистрация домена - купить
Оплата - варианты для всех
Панель управления Россия
Панель управления Беларусь
Вопросы и ответы - информация
Разработка сайтов - сопровождение
Виртуальный Брест - портал
Контакт - обратная связь
Наш форум - пообщаемся?

Список доменов
в которых доступна бесплатная регистрация имен при покупке хостинга, а так же открытие поч- тового ящика:

Новости Бреста:

Міжнародны забег Брэст – Цярэспаль “Сяброўства” - фото
В Бресте за незаконную парковку уже более трехсот автомобилей отправлены на штрафстоянку
Легковушка насмерть сбила велосипедиста в Брестской области
У Пінску абаронцы жывёлаў зладзілі шэсце з плакатамі - фото
Магия красоты в музее Брест театральный - фото
Генконсул РФ передал Mузею истории Бреста архивные документы о Грибоедове - видео
В Бресте проходит республиканский конкурс исполнителей на народных инструментах
Блоггеры Бреста третий раз проводят неофициальную встречу - фото
У брэсцкай школе ідэолагі нагадваюць пра нацыяльную сімволіку - фото
Брестскому отдлению ОО БРО "Дети в беде" требуется помощь в оплате транспорта

методика оптимизации производительности сайта довольно сложна
© Виртуальный Брест 2001 - 2009 Автор проекта: Андрей Кухарчик Дизайн: Partgraphic