lightanddesign.rulightanddesign.ru
  • Последние статьи
    Как сделать эполеты своими руками

    Как сделать эполеты своими руками

    Как сделать золотой сундук в террарии

    Как сделать прокол уха в домашних условиях

    Как сделать прокол уха в домашних условиях

    Как сделать коробку органайзер

  • Лучшее
    Как сделать диодную подсветку потолка

    Как сделать диодную подсветку потолка

    Как сделать отливку из гипса своими руками

    Как сделать отливку из гипса своими руками

    Как сделать фото на вебку

    Как сделать фото на вебку

    Как сделать сердечко из ленточки

    Как сделать сердечко из ленточки

  • Рекомендуем
    Клетки в фотошопе как сделать

    Клетки в фотошопе как сделать

    Как сделать многостраничный jpg файл из одностраничных

    Как сделать многостраничный jpg файл из одностраничных

    Как сделать vpn в яндекс браузере

    Как сделать vpn в яндекс браузере

    Как сделать из бумаги гараж

    Как сделать из бумаги гараж

Нет результатов
Все результаты
Как сделать своими руками
  • Последние статьи
    Как сделать эполеты своими руками

    Как сделать эполеты своими руками

    Как сделать золотой сундук в террарии

    Как сделать прокол уха в домашних условиях

    Как сделать прокол уха в домашних условиях

    Как сделать коробку органайзер

  • Лучшее
    Как сделать диодную подсветку потолка

    Как сделать диодную подсветку потолка

    Как сделать отливку из гипса своими руками

    Как сделать отливку из гипса своими руками

    Как сделать фото на вебку

    Как сделать фото на вебку

    Как сделать сердечко из ленточки

    Как сделать сердечко из ленточки

  • Рекомендуем
    Клетки в фотошопе как сделать

    Клетки в фотошопе как сделать

    Как сделать многостраничный jpg файл из одностраничных

    Как сделать многостраничный jpg файл из одностраничных

    Как сделать vpn в яндекс браузере

    Как сделать vpn в яндекс браузере

    Как сделать из бумаги гараж

    Как сделать из бумаги гараж

Нет результатов
Все результаты
Как сделать своими руками
Нет результатов
Все результаты
Главная Лучшее

Чат на сайте как сделать

Поделиться в VkПоделиться в TelegramПоделиться в WhatsApp

You might also like

Как сделать диодную подсветку потолка

Как сделать диодную подсветку потолка

07.10.2024
Как сделать отливку из гипса своими руками

Как сделать отливку из гипса своими руками

07.10.2024

Здравствуйте, хабрузер! Я хочу поделиться с вами своим опытом. Сегодня я расскажу, как написать простую разговорную комнату на PHP и JavaScript. Под ним вы найдете много кода. Приготовьтесь… Для хранения сообщений чата мы использовали базу данных MySQL. Сначала создайте новую базу данных в phpmyAdmin. Зайдите за небольшой столик.

  1. Если она не существует, создайте креативную таблицу "Чат" (
  2. `id` int (15) null not auto_increment,.
  3. `name` varchar (30) not null, not null, not null, not null
  4. `text` text not null, not null
  5. Первичный ключ (`id`)
  6. ) engine = myisam default charset = cp1251 auto_increment = 1,.

Затем создайте новый документ и назовите его index.php. Это основной документ. Вкратце, в нем находится комната для разговоров. Для разговора я использовал jQuery и некоторые плагины для этого. Давайте подключим jquery и доступные плагины…

Таким образом, разговорная беседа готова. Таблица для хранения сообщений разговора. Затем на стороне сервера пишется сценарий для обработки сообщений. Сценарий должен быть способен хранить и распространять сообщения. Создайте новый документ и назовите chat.php content chat.php:.

  1. // Функция для обработки базы данных
  2. Функция getquery ($ запрос).
  3. $ res = mysql_query ($ query) или die (mysql_error())
  4. $ row = mysql_fetch_row ($ res)
  5. $ var = $ row 0,.
  6. возвращает $ var,.
  7. >
  8. функция setquery ($ query).
  9. $ res = mysql_query ($ query) или die (mysql_error())
  10. возвращает $ res,.
  11. >
  12. //Подключитесь к базе.
  13. @ mysql_connect (‘localhost’, ‘root’, ») или die ("Не удается подключиться к mysql."). ,.
  14. @ mysql_select_db (‘best’) or die ("Cannot connect to database") ,.
  15. @ mysql_query (‘set names utf8;’),.
  16. switch ($ _get "event")
  17. // распространить последнее сообщение здесь
  18. Для "получить":.
  19. // сколько сообщений выдается пользователю.
  20. $ max_message = 60,.
  21. // Общее количество сообщений в разговорной комнате
  22. $ count = getQuery ("select count(` id`) from `chat`;");
  23. // max_message_id
  24. $ m = getQuery ("select max(id)from` chat` where 1");
  25. // Удалите ненужные сообщения.
  26. // Уничтожьте эту работу, если вы хотите сохранить всю историю.
  27. если ($ count> $ max_message)
  28. setQuery ("from from.
  29. >
  30. // Получаем ID последнего сообщения от клиента.
  31. $ mg = $ _get ‘id’,.
  32. // Создать количество отсутствующих сообщений от клиента
  33. если ($ mg == 0)
  34. если ($ mg)
  35. $ msg = array(),.
  36. // Если у клиента нет всех сообщений, отправьте клиенту неполные сообщения.
  37. если ($ mg< $m )
  38. //Возврат неисправных сообщений из базы.
  39. $ query = "select * from` chat` where `did`>". $ mg. "и `id".< #339933">$ m. $ m. "order by" id`",.
  40. $ res = mysql_query ($ query) или die (mysql_error())
  41. while ($ row = mysql_fetch_array ($ res))
  42. // путаница в сообщениях.
  43. $ msg = array ("id" => $ row ‘id’, "name" => $ row ‘name’, "msg" => $ row ‘text’),.
  44. >
  45. >
  46. // Отправляем JSON с данными клиенту.
  47. echo json_encode ($ msg),.
  48. Тайм-аут …
  49. Для "набора":.
  50. // Имя загрузки.
  51. $ name = htmlspecialchars ($ _get ‘name’),.
  52. // Загрузить текст сообщения.
  53. $ msg = htmlspecialchars ($ _get "msg", // Загружаем текст сообщения.
  54. // сохранить сообщение
  55. setQuery ("Intersing Into` Chat` (`id`, `name`, `text`) values (null, ‘". mysql_real_escape_string ($ name).". , » ‘. ") ;
  56. Тайм-аут …
  57. >

Как работает этот сценарий? Изначально вы подключены к базе данных. После установления связи вы знаете, о чем просит клиент. Если вы запрашиваете сообщение, вы создаете ряд сообщений, отсутствующих у клиента. Далее вы запрашиваете у базы данных все сообщения, добавляете их в таблицу, создаете JSON и отправляете все клиенту.

Теперь у вас есть основа для разговора. Все, что вам нужно сделать, это обновить чат на стороне клиента и добавить в него новые сообщения. Для всего этого используйте запросы Ajax. Давайте создадим скрипт в файле index.php для обработки и добавления сообщений. Добавим его между тегами< head >. Наш Javascript:.

  1. $ (function ())
  2. // Если файл cookie с именем не пуст, перетащите его и введите имя в форму.
  3. ЕСЛИ ($. cookie ("имя")! = "")
  4. // переменная содержит идентификатор последнего входящего сообщения
  5. var middle = 0,.
  6. // Функция обновления сообщений в чате
  7. функция get_message_chat ()
  8. // генерирует Ajax-запрос
  9. $. ajaxSetup ()< url : "chat.php" , global : true , type : "GET" , data : "event=get&id #339933">+ mid + "&t #339933"> +
  10. (новая дата). getTime ()>),.
  11. // Отправить запрос.
  12. $. ajax (
  13. // В случае успеха.
  14. Успех: функция (msg_j))
  15. // Если в полученных данных есть сообщение
  16. if (msg_j. length> 2)
  17. // Разбор JSON.
  18. var obj=JSON. parse (msg_j),.
  19. // Передать все полученные сообщения
  20. for (var i = 0; i< obj. length ; i ++ )
  21. // Присвоить переменной ID сообщения
  22. mid =obji. id,.
  23. // Добавьте сообщение в беседу.
  24. $ ("#msg-box ul"). Добавить ("
  25. "+ obji. name+"": "+obji. msg+"");
  26. >
  27. // Показать окно чата до конца.
  28. $ ("#msg-box"). scrollTop (2000),.
  29. >
  30. >
  31. >>) ;
  32. >
  33. // Первый запрос к серверу. Получите сообщение.
  34. get_message_chat (),.
  35. //Обновление чата каждые 2 секунды.
  36. $ ("#t-box"). everyTime (2000, ‘refresh’, function())
  37. get_message_chat (),.
  38. >>) ;
  39. // Событие отправки формы.
  40. $("#t-box"). Submit (function ())
  41. // Запросите имя у пользователя.
  42. if(((( "#t-box input class =’name’"); attr("value") == "")< alert ( "Пожалуйста, введите свое имя!" ) >Иначе.
  43. //Добавьте имя пользователя в cookie.
  44. $. cookie ("name", $("#t-box input class =’name’"). attr ("value"));
  45. // сообщение из формы.
  46. var msg = $((("#t-box input class =’msg’"). val()),.
  47. // если сообщение не пустое
  48. if (msg!= "")
  49. // чистая форма.
  50. $ ("#t-box input class =’msg’"). attr ("value", ""),.
  51. // генерирует Ajax-запрос
  52. $. ajaxSetup ()< url : "chat.php" , type : "GET" , data : "event=set&name #339933">+.
  53. $ ("#t-box input class =’name’"). val () + "&msg #339933" > + msg>),.
  54. // Отправить запрос.
  55. $. ajax (),.
  56. >
  57. >
  58. // Возвращает false, так что форма не будет отправлена.
  59. Возвращает false.
  60. >>) ;
  61. >>) ;

Давайте проанализируем этот сценарий… Линия (3). Если в cookie есть имя пользователя, введите его в форму. Если по какой-либо причине пользователь обновляет страницу чата или заходит на страницу с чатом, ему не нужно повторно вводить свое имя. Линия (7). Функция обновления чата. Чат обновляется не полностью. Отправляются только сообщения, не включенные в чат. Линия (9). Создайте Ajax-запрос. Почему мне нужно передавать дополнительную переменную "t=" + (new Date).getTime ()? Если его не отправить, некоторые браузеры кэшируют тот же Ajax-запрос. И нам это не нужно! Это происходит потому, что сообщение не может быть обновлено. (Функция (new Date).getTime() возвращает время в миллисекундах. Таким образом, браузер не кэширует запрос, поскольку каждый раз при отправке запроса генерируется другая строка. Серия (16). Почему именно два или более персонажей? Потому что если все сообщения чата есть, сервер отправит не пустую строку, а "". Это происходит потому, что ответы генерируются в формате JSON. Серия (37). Запрашивать новое сообщение каждые 2 секунды. Мне очень понравился плагин jQuery timer. Он позволяет повторять определенное действие столько раз, сколько вам нужно, очень гибким способом.

Это практически все. Теперь ваш чат готов к работе. Для подтверждения достоверности имени и смайлика оставляю для прочтения.


Previous Post

Как сделать стол для компьютера

Следующий пост

Как сделать из длинного шарика собачку пошаговая

Как сделать своими руками

Как сделать своими руками

Читайте также

Как сделать диодную подсветку потолка

Как сделать диодную подсветку потолка

Автор Как сделать своими руками
07.10.2024
0

Обычно светодиодное освещение размещается на крыше при ее реконструкции или модернизации. Нам очень нравится эта идея, потому что ее можно...

Как сделать отливку из гипса своими руками

Как сделать отливку из гипса своими руками

Автор Как сделать своими руками
07.10.2024
0

Этот мастер-класс предназначен для тех, кто хочет получать формы с моделей, но не знает как. Им понадобятся Основная формируемая модель,...

Как сделать фото на вебку

Как сделать фото на вебку

Автор Как сделать своими руками
07.10.2024
0

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

Как сделать сердечко из ленточки

Как сделать сердечко из ленточки

Автор Как сделать своими руками
07.10.2024
0

Серьги из лент ко Дню святого Валентина можно легко и быстро сделать самостоятельно. Для изготовления этих сувениров вам понадобятся Толстый...

Следующий пост
Как сделать из длинного шарика собачку пошаговая

Как сделать из длинного шарика собачку пошаговая

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Последние статьи
  • Лучшее
  • Рекомендуем

© 2022 "Я Мастер" | Онлайн-журнал

Нет результатов
Все результаты
  • Последние статьи
  • Лучшее
  • Рекомендуем

© 2022 "Я Мастер" | Онлайн-журнал