Перейти к содержимому

Фото
- - - - -

Php Mysql Chat


  • Вы не можете создать новую тему
  • Please log in to reply
17 ответов в этой теме

#1 Dr. Ghost

Dr. Ghost
  • Новобранец
  • 14 сообщений

Отправлено 19 апреля 2005 - 11:54

Dobrij Denj


Ja hochu sdelatj chat no ne znaju kak. Estj php, mysql supports.

Pomogite pozalujsta objasnite kak on dolzen rabotatj. Ja predstavljaju tak chto eto 3 frejma, 1-iq otobrazenija soobschenija 2-oj poljzovateli online, 3-ij poslatj soobschenie. Kak oni vzaimodejstvujut esli pri posilki sobshenija iz 3-ogo fejma ono otobrazaetcja v 1-om snizu luchsche vsego.

Mne ne nado ni kakih detalij poljzovatelja mozno daze bez privatov konechno so smajlikami veselo no pod hudoj konec mozno i bez nih.


Dr. Ghost
  • 0

#2 Nevermore

Nevermore
  • Пользователь
  • 18 сообщений
  • Откуда:Таллинн

Отправлено 19 апреля 2005 - 13:50

У тебя в чате есть:
Пользователи
Сообщения

2 таблицы - одна для пользователей, вторая для сообщений.
Пользователь - имя, пароль, вОнлайне
Сообщение - текст, дата

в чатовом фрейме выводишь все сообщения, которые новее, чем определённая дата.
В списке пользователей выводишь всех Пользователей, которые вОнлайне.
В третьем фрейме форма для добавления сообщения Пользователя в таблицу Сообщений.

Вот и весь твой чат.
  • 0
When I’m God - everyone dies

#3 Dr. Ghost

Dr. Ghost
  • Новобранец
  • 14 сообщений

Отправлено 19 апреля 2005 - 14:02

Spasibo.
No vot kogda dumal ob etom ranjshe to umenja bilo sledujuschee somnenie:
znachit vo frejme kotorij dlja soobshenij nado vivoditj soobschenija i vot tut somnenija vedj eto ne praviljno esli obnovljatj vesj etot frejm napodobi "refresh" i to chto dopustim poljzovatelj toljko chto voshol chtob on videl soobshenija s etogo vremeni kogda voshol a ne vse v podrjad i voobshe chtob voobshe poljzovateli kazdij polzovatelj videl realjnoe soobscenie.
Spasibo. Sorry za neudobstvo.
  • 0

#4 Nevermore

Nevermore
  • Пользователь
  • 18 сообщений
  • Откуда:Таллинн

Отправлено 19 апреля 2005 - 14:39

Это уже навороты ;-)

Пользователь вошёл - записываешь когда. Т.е. добавляешь в Пользователи поле ПоследнийЛогин.

Создаёшь сессию для пользователя.

При рефреше по сессии выдаёшь сообщения, которые Пользователь может видеть - например те, что появились после его логина, или те, которые были посланы не в приват.
  • 0
When I’m God - everyone dies

#5 Dr. Ghost

Dr. Ghost
  • Новобранец
  • 14 сообщений

Отправлено 19 апреля 2005 - 14:46

odin malenjkij dopolniteljnij vopros...
Kogda dobavljajutcja novie soobshenija stranica dolzna polnost'ju obnavljatcja
esli net to kak togda sdelatj chtob imenno dopisovalosj poslednee soobschenie, kak vizivatj etu funkciju vo vrejme soobschenij chtob bili kakie to dobovlenija
  • 0

#6 Nevermore

Nevermore
  • Пользователь
  • 18 сообщений
  • Откуда:Таллинн

Отправлено 19 апреля 2005 - 15:07

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

по-крайней мере мне такие способы не известны ;-)
  • 0
When I’m God - everyone dies

#7 crazy russian

crazy russian
  • Пользователь
  • 153 сообщений

Отправлено 20 апреля 2005 - 05:18

odin malenjkij dopolniteljnij vopros...
Kogda dobavljajutcja novie soobshenija stranica dolzna polnost'ju obnavljatcja
esli net to kak togda sdelatj chtob imenno dopisovalosj poslednee soobschenie, kak vizivatj etu funkciju vo vrejme soobschenij chtob bili kakie to dobovlenija

Поищи в гугле про XMLHttpRequest и Ajax. Это решение технически остается refresh-ем, а практически - становится тем, о чем ты говоришь. смотри пример
  • 0

#8 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 20 апреля 2005 - 07:40

Как всё сложно-то... Зайди в любой чат и посмотри как там сделано. Тебе нужно будет 4 фрейма! Один невидимый фрейм - в котором будут сообщения, а 2й - в который JavaScript функция будет красиво добавлять новые сообщения. Неплохой пример можно позаимствовать у SuperChat.ee (если он ещё существует) ;)

По поводу PHP & MySQL - ты хочешь сам написать чат? Почему тогда задаёшь такие глупые вопросы? :)
  • 0

#9 Мастер

Мастер

    Renegade

  • Пользователь
  • 559 сообщений
  • Откуда:Tallinn

Отправлено 21 апреля 2005 - 20:31

Nevermore,

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

PHP -> flush() и sleep()- вывод без обновления страницы (плохой пример конечно :) )
Для ввода - отправлять в невидимый фрейм, пусть он обновляется.
Тогда свиду никаких обновлений, всё красиво :)

Dr. Ghost,
Мне кажется, что если у тебя столько вопросов, то лучше тебе взять готовый скрипт.
  • 0
дружу с паяльником...

#10 CiDRoN

CiDRoN

    Конструктивизм на форум.ее

  • Админ
  • 8 434 сообщений
  • Откуда:Tallinn

Отправлено 21 апреля 2005 - 20:37

Мастер, потом этих слип двести штук наберётся ) пример действительно плохой.
  • 0
Закон суров, но это закон. Читайте правила.

#11 Nevermore

Nevermore
  • Пользователь
  • 18 сообщений
  • Откуда:Таллинн

Отправлено 22 апреля 2005 - 09:56

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

Кроме того, для чата это не пойдёт - упрёшься в лимит коннекшнов сервера, и либо сервер уронишь, либо больше никого на сервер не пустишь ;)

crazy russian,
Таки да, XMLHttpRequest рулит, об этом не подумал. А он в Мозилле работает, интересно? Спасибо за инфу об ajax, даже не слышал об этом.
  • 0
When I’m God - everyone dies

#12 crazy russian

crazy russian
  • Пользователь
  • 153 сообщений

Отправлено 22 апреля 2005 - 11:22

Nevermore, работает, почему же нет =) обычный JavaScript :)
  • 0

#13 Dr. Ghost

Dr. Ghost
  • Новобранец
  • 14 сообщений

Отправлено 22 апреля 2005 - 11:54

Spasibo. Dejstviteljno sdelatj nevidimij freim i pichatj ot tuda s pomoschju JavaScript ispoljzuja princip erarhii frejmov.
Spasibo takze za namjok pro XMLHTTPRequest budu imetj v vidu i budet svobodnoe i udobnoe vremja to najdu kakuju nibudj infu i poznakomlusj.
Vprincipe mozno vzjatj gotovij chat i posmotrej kak on funkcioniruet, naverno tak i postuplju kak nibudj v google najdu gotovie scripti, no etot gotovij chat sam po sebe resheniem ne budet poskoljku u menja estj opredeljonij dizajn, nado prosto vnedritj tuda chat i estj kakie-to plani dopolnjatj etot razdel nekotorimi osobennostjami.
  • 0

#14 AlTro

AlTro
  • Постоялец
  • 499 сообщений

Отправлено 25 апреля 2005 - 00:46

есть куча чатов которые легко мона установить... если надо - пиши в ПМку - дам установочный фйл...

чат потетить мона тута http://aleksei.no-ip.org/chat ;) удачи +))
  • 0
user unreachable

#15 Dr. Ghost

Dr. Ghost
  • Новобранец
  • 14 сообщений

Отправлено 26 апреля 2005 - 12:31

Opjatj problema voznikla:
napisal code PHP/JavaScript vsjo on pishet vo frejm soobshenij, no ja nikak ne mogu zdelatj tak chtob focus bil vsegda v samom nizu stranici, to estj soobschenija dobovljajutsja a nado samomu vniz prokruchivatj.

Pomogite reshit etu problemu...pleazzz :rolleyes:
  • 0

#16 AlTro

AlTro
  • Постоялец
  • 499 сообщений

Отправлено 26 апреля 2005 - 12:33

Opjatj problema voznikla:
napisal code PHP/JavaScript vsjo on pishet vo frejm soobshenij, no ja nikak ne mogu zdelatj tak chtob focus bil vsegda v samom nizu stranici, to estj soobschenija dobovljajutsja a nado samomu vniz prokruchivatj.

Pomogite reshit etu problemu...pleazzz :rolleyes:

Просмотреть сообщение

в чате что я тебе давал есть код этого дела - покопайся ! там можно ставить чтоб он сам прокручивался и не сам... так что не ленись - прокопай весь код ещё раз +)
  • 0
user unreachable

#17 Dr. Ghost

Dr. Ghost
  • Новобранец
  • 14 сообщений

Отправлено 26 апреля 2005 - 12:46

Amigo,
Da nefiga tam ne ponjatj ja daze frejmov ne videl
  • 0

#18 Мастер

Мастер

    Renegade

  • Пользователь
  • 559 сообщений
  • Откуда:Tallinn

Отправлено 28 апреля 2005 - 20:32

Nevermore,
у меня чат на слипах держал 6 человек под разными бродилками в течении 4 часов и нормально. Тогда цель эксперимента была именно в проверке насколько это плохо.
Оказалось плохо - грузит сервак.
  • 0
дружу с паяльником...