Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

чат на PHP+JS. Кто виноват?

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Создание веб-сайтов
Предыдущая тема :: Следующая тема  
Автор Сообщение
_piton



Зарегистрирован: 11.03.2005
Сообщения: 8

СообщениеДобавлено: Пт Мар 11 2005 15:12    Заголовок сообщения: чат на PHP+JS. Кто виноват? Ответить с цитатой

Я тут пытаюсь написать чат на PHP (в целях самообразования Wink ) но че то оно глючит. Конкретно: все приходящие сообщения $_SERVER{'QUERY_STRING'} сохраняются в файл. Если строка запроса пуста - скрипт (php) только читает из файла fgets() предыдущие сообщения. Сообщение на отсылку формируется (js) так: parent.chat_frame.location.href="http://127.0.0.1/chat.php?"+query_string; Если надо просто обновить окно чата: chat_frame.location.href=".../chat.php"
Проблема: посылаем сообщение - все ок - оно и в файле и на экране. Посылаем пустой запрос - последнее сообщение на экране отсутствует! Еще раз посылаем - оно появляется. А если выводить это в отдельное окно ( а не в frame) и сразу после отправки, убрав из URL строку запроса, нажать обновить - оно появляется. Ну и как это понимать? И чего можно сделать? Подскажите кто-нибудь pls!
З.Ы. А в Mozilla у меня почему-то не работает parent.chat_frame.location.href="http://127.0.0.1/chat.php?"+query_string; Содержимое фрейма не меняется. Тоже загадка, блин!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Moby



Зарегистрирован: 19.11.2004
Сообщения: 268

СообщениеДобавлено: Сб Мар 12 2005 09:32    Заголовок сообщения: Ответить с цитатой

ты думаешь на этом форуме сборище медиумов и экстрасенсов??? ну так почему ты считаешь что мы в состоянии решить твою проблему не видя ни строчки кода... chat.php в студию! в частности ту его часть, котороая отвечает за обработку запроса
_________________
Профи - это оборзевший ламмер
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
_piton



Зарегистрирован: 11.03.2005
Сообщения: 8

СообщениеДобавлено: Сб Мар 12 2005 13:42    Заголовок сообщения: Ответить с цитатой

По просьбам радиозрителей:
chat.php (всякий диагностический output и html обрамление я здесь убрал)
Код:
   
<?php
  function writedown($message)//функция записи в файл
      {
        $fp=fopen("chat/chat.txt", "a");
        if ($fp)
        {
          fputs($fp, $message."\n");
          fflush($fp);// На всякий случай форсируем запись из буфера в файл
          fclose($fp);
        };
      };
//-----------------------------------------------------
      function readout()//функция чтения из файла
      {
        $fp=fopen("chat/chat.txt", "r");
        if ($fp)
        {
          while (!feof($fp))
          {
            echo(urldecode(fgets($fp))."<br>");
          };
          fclose($fp);
        }
        else
        {
          echo "Error opening file!";
        };
      };
//--------------------------------------------
//если строка запроса пуста пропускаем запись в файл
      if ( (!is_null($_SERVER{'QUERY_STRING'}))&&(strlen($_SERVER{'QUERY_STRING'})) )
      {
        writedown($_SERVER{'QUERY_STRING'});
      };

//читаем из файла в любом случае
      readout();
    ?>

Вот и все.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Moby



Зарегистрирован: 19.11.2004
Сообщения: 268

СообщениеДобавлено: Сб Мар 12 2005 13:58    Заголовок сообщения: Ответить с цитатой

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

лекарство - надо отключать кеширование на страницы... а вот - хоть убей - не вспомню... есть какой то метатег на эту тему кажись.

кстати, твой подход к чату обсолютно не жизнедеятельный, но в качестве "для себя" вполне сгодится ;о)
_________________
Профи - это оборзевший ламмер
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
_piton



Зарегистрирован: 11.03.2005
Сообщения: 8

СообщениеДобавлено: Сб Мар 12 2005 14:19    Заголовок сообщения: Ответить с цитатой

>кстати, твой подход к чату обсолютно не жизнедеятельный, но в качестве "для себя" вполне сгодится ;о)

Кинь pls ссылку на какую-нибудь стоящую инфу на тему чатостроительства и генерации динамического контента вообще (какие-нибудь шаблонные решения для разных ситуаций). Заранее спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Moby



Зарегистрирован: 19.11.2004
Сообщения: 268

СообщениеДобавлено: Сб Мар 12 2005 14:50    Заголовок сообщения: Ответить с цитатой

какую нить ссылку... ну ты магёшь... ёпть, ну набери в поисковике что нить вроде "как сделать чат"... если какие то конкретные вопросы появятся - обращайся, помогу чем смогу
_________________
Профи - это оборзевший ламмер
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
_piton



Зарегистрирован: 11.03.2005
Сообщения: 8

СообщениеДобавлено: Сб Мар 12 2005 17:09    Заголовок сообщения: Ответить с цитатой

Дело оказалось действительно в кэшировании, добавление
<meta http-equiv="expires" content="Mon, 01 Jan 1990 00:00:00 GMT">
в начало php все исправило! Thanx!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Pasat V.



Зарегистрирован: 19.03.2005
Сообщения: 13
Откуда: Chisinau

СообщениеДобавлено: Чт Мар 24 2005 23:47    Заголовок сообщения: Ответить с цитатой

хммм
знаете когдато я тоже пытался чтото оригинальное сварганить... не банальное "яваскрипт-рефреш" а типа через флэш форму
забросил блин запутался

ктото пробовал "чатостроительсво" во флеши?
_________________
Web foreva Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Moby



Зарегистрирован: 19.11.2004
Сообщения: 268

СообщениеДобавлено: Ср Апр 06 2005 20:16    Заголовок сообщения: Ответить с цитатой

нее, дажа рядом не хадил, а в чём там смысл?
_________________
Профи - это оборзевший ламмер
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Создание веб-сайтов Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...