精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

PHP實現最簡單的聊天室應用

開發 后端
這篇文章,以及任何相關的源代碼和文件,都獲得了The Code Project Open License (CPOL)的許可。

介紹

聊天應用程序在網上非常常見。開發人員在構建這類應用程序時的選擇也很多。這篇文章介紹了如何實現基于PHP-AJAX的聊天應用程序,并且不需要刷新頁面就可以發送和接收消息。

核心邏輯

在定義應用程序的核心功能之前,先來看一看聊天應用程序的基本外觀,如以下截圖所示:

通過聊天窗口底部的輸入框輸入聊天文本。點擊Send按鈕,就開始執行函數set_chat_msg。這是一個基于Ajax的函數,因此無需刷新頁面就可以將聊天文本發送到服務器。程序在服務器中執行chat_send_ajax.php以及用戶名和聊天文本。

 

  1. // 
  2. // Set Chat Message 
  3. // 
  4.  
  5. function set_chat_msg() 
  6.     if(typeof XMLHttpRequest != "undefined"
  7.     { 
  8.         oxmlHttpSend = new XMLHttpRequest(); 
  9.     } 
  10.     else if (window.ActiveXObject) 
  11.     { 
  12.        oxmlHttpSend = new ActiveXObject("Microsoft.XMLHttp"); 
  13.     } 
  14.     if(oxmlHttpSend == null
  15.     { 
  16.        alert("Browser does not support XML Http Request"); 
  17.        return
  18.     } 
  19.  
  20.     var url = "chat_send_ajax.php"
  21.     var strname="noname"
  22.     var strmsg=""
  23.     if (document.getElementById("txtname") != null
  24.     { 
  25.         strname = document.getElementById("txtname").value; 
  26.         document.getElementById("txtname").readOnly=true
  27.     } 
  28.     if (document.getElementById("txtmsg") != null
  29.     { 
  30.         strmsg = document.getElementById("txtmsg").value; 
  31.         document.getElementById("txtmsg").value = ""
  32.     } 
  33.  
  34.     url += "?name=" + strname + "&msg=" + strmsg; 
  35.     oxmlHttpSend.open("GET",url,true); 
  36.     oxmlHttpSend.send(null); 

PHP模塊從Query String(查詢字符串)中接收表單數據,更新到命名為chat的數據庫表中。chat數據庫表有命名為IDUSERNAME、CHATDATEMSG的列。ID字段是自動遞增字段,所以這個ID字段的賦值將自動遞增。當前的日期和時間,會更新到CHATDATE列。

 

  1. require_once('dbconnect.php'); 
  2.  
  3. db_connect(); 
  4.  
  5. $msg = $_GET["msg"]; 
  6. $dt = date("Y-m-d H:i:s"); 
  7. $user = $_GET["name"]; 
  8.  
  9. $sql="INSERT INTO chat(USERNAME,CHATDATE,MSG) " . 
  10.       "values(" . quote($user) . "," . 
  11.       quote($dt) . "," . quote($msg) . ");"
  12.  
  13.       echo $sql; 
  14.  
  15. $result = mysql_query($sql); 
  16. if(!$result) 
  17.     throw new Exception('Query failed: ' . mysql_error()); 
  18.     exit(); 

為了接收來自數據庫表中所有用戶的聊天消息,timer函數被設置為循環5秒調用以下的JavaScript命令,即每隔5秒時間執行get_chat_msg函數。

var t = setInterval(function(){get_chat_msg()},5000);

get_chat_msg是一個基于Ajax的函數。它執行chat_recv_ajax.php程序以獲得來自于數據庫表的聊天信息。在 onreadystatechange屬性中,另一個JavaScript 函數get_chat_msg_result被連接起來。在返回來自于數據庫表中的聊天消息的同時,程序控制進入到 get_chat_msg_result函數。

  1. // 
  2. // General Ajax Call 
  3. // 
  4.  
  5. var oxmlHttp; 
  6. var oxmlHttpSend; 
  7.  
  8. function get_chat_msg() 
  9.     if(typeof XMLHttpRequest != "undefined"
  10.     { 
  11.         oxmlHttp = new XMLHttpRequest(); 
  12.     } 
  13.     else if (window.ActiveXObject) 
  14.     { 
  15.        oxmlHttp = new ActiveXObject("Microsoft.XMLHttp"); 
  16.     } 
  17.     if(oxmlHttp == null
  18.     { 
  19.         alert("Browser does not support XML Http Request"); 
  20.        return
  21.     } 
  22.  
  23.     oxmlHttp.onreadystatechange = get_chat_msg_result; 
  24.     oxmlHttp.open("GET","chat_recv_ajax.php",true); 
  25.     oxmlHttp.send(null); 

在chat_recv_ajax.php程序中,來自于用戶的聊天消息會通過SQL select命令進行收集。為了限制行數,在SQL查詢中還給出了限制子句(limit 200),即要求聊天數據庫表中的***200行。所獲得的消息再返回給Ajax函數,用于在聊天窗口中顯示內容。

 

  1. require_once('dbconnect.php'); 
  2.  
  3. db_connect(); 
  4.  
  5. $sql = "SELECT *, date_format(chatdate,'%d-%m-%Y %r'
  6. as cdt from chat order by ID desc limit 200"; 
  7. $sql = "SELECT * FROM (" . $sql . ") as ch order by ID"
  8. $result = mysql_query($sql) or die('Query failed: ' . mysql_error()); 
  9.  
  10. // Update Row Information 
  11. $msg=""
  12. while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) 
  13.    $msg = $msg . "" . 
  14.         "" . 
  15.         ""
  16. $msg=$msg . "<table style="color: blue; font-family: verdana, arial; " . 
  17.   "font-size: 10pt;" border="0"
  18.   <tbody><tr><td>" . $line["cdt"] . 
  19.   " </td><td>" . $line["username"] . 
  20.   ": </td><td>" . $line["msg"] . 
  21.   "</td></tr></tbody></table>"
  22.  
  23. echo $msg; 
  24.  
  25. 數據準備就緒的同時,JavaScript函數會收集來自于PHP接收到的數據。這些數據將被安排置于DIV標簽內。oxmlHttp.responseText會保留從PHP程序接收到的聊天消息,并復制到DIV標簽的document.getElementById(“DIV_CHAT”).innerHTML屬性。 
  26.  
  27. function get_chat_msg_result(t) 
  28.     if(oxmlHttp.readyState==4 || oxmlHttp.readyState=="complete"
  29.     { 
  30.         if (document.getElementById("DIV_CHAT") != null
  31.         { 
  32.             document.getElementById("DIV_CHAT").innerHTML =  oxmlHttp.responseText; 
  33.             oxmlHttp = null
  34.         } 
  35.         var scrollDiv = document.getElementById("DIV_CHAT"); 
  36.         scrollDiv.scrollTop = scrollDiv.scrollHeight; 
  37.     } 

下面的SQL CREATE TABLE命令可用于創建名為chat的數據庫表。所有由用戶輸入的信息都會進入到數據庫表中。

create table chat( id bigint AUTO_INCREMENT,username varchar(20),
chatdate datetime,msg varchar(500), primary key(id));

興趣點

這段用于實現聊天應用程序的代碼非常有意思。它可以改進成為一個完全成熟的HTTP聊天應用程序。創建該應用程序的邏輯也非常簡單。即使是初學者理解起來也不會有任何困難。

許可證

這篇文章,以及任何相關的源代碼和文件,都獲得了The Code Project Open License (CPOL)的許可。

譯文鏈接:http://www.codeceo.com/article/php-chart-app.html
英文原文:Chat Application in PHP

責任編輯:王雪燕 來源: 碼農網
相關推薦

2021-11-16 09:38:10

鴻蒙HarmonyOS應用

2011-12-15 11:11:51

JavaNIO

2023-02-10 08:16:48

WebSocket簡易聊天室

2022-07-26 14:53:10

WebSocket網絡通信協議

2023-01-13 00:02:41

2023-01-05 09:17:58

2025-05-09 08:35:00

聊天室FastAPIWebSocket

2015-08-06 17:17:33

swoole聊天室

2011-06-09 15:44:29

Spring

2022-11-14 08:01:48

2022-12-01 08:25:23

eTsTCP聊天室

2024-10-07 10:45:12

2022-04-18 10:36:48

社交軟件聊天平臺rocket.cha

2021-10-14 18:46:29

Websocket瀏覽器API

2021-11-15 11:32:12

Linux Linux sockeLinux 系統

2021-12-09 16:48:25

鴻蒙HarmonyOS應用

2024-01-18 11:15:46

Pythonsocket聊天室

2021-02-06 23:26:25

聊天室開發WebSocket

2025-06-09 02:00:00

項目技術棧Spring
點贊
收藏

51CTO技術棧公眾號

中文有码一区| 丝袜美腿美女被狂躁在线观看| 激情视频一区| 亚洲精品中文字幕av| wwwxxx黄色片| 国产黄色小视频在线| 国产成人亚洲精品青草天美| 91成人在线观看国产| 国产午夜精品福利视频| 亚洲三级av| 欧美视频在线观看免费| 一区二区视频在线播放| 欧美一级在线免费观看| 日韩成人免费看| 欧美黄色www| 蜜桃久久精品成人无码av| 日韩不卡在线视频| 色婷婷综合激情| 日本a在线天堂| 电影av一区| 成人国产精品免费观看动漫| 国产精品扒开腿做爽爽爽男男| 欧美丰满艳妇bbwbbw| 要久久爱电视剧全集完整观看 | 狠狠人妻久久久久久| 欧美丰满日韩| 日韩av网站大全| 亚洲欧美日本一区二区| 桃色av一区二区| 亚洲欧美偷拍卡通变态| 欧美日韩精品免费观看| 亚洲精品一区二区三区不卡| 久久99热这里只有精品| 日本国产精品视频| 精品少妇一二三区| 婷婷中文字幕一区| 一区二区成人精品| 色天使在线视频| 精品网站999| 欧美日韩电影在线播放| 国产又黄又大又粗视频| segui88久久综合| 亚洲三级免费电影| 亚洲午夜精品一区二区三区| 久久经典视频| 久久亚洲一区二区三区四区| 国产精品一区二区三区在线| av加勒比在线| 国产综合色视频| 国产精品一区二区三| 波多野结衣黄色网址| 亚洲日本欧美| 国产+人+亚洲| 精品少妇久久久| 激情自拍一区| 久久久久久综合网天天| 翔田千里88av中文字幕| 99久久夜色精品国产亚洲1000部| 一区国产精品视频| 在线观看免费小视频| 欧美美女在线| 亚洲无亚洲人成网站77777| 免费看黄色的视频| 国产一区二区三区探花 | 欧美18一19xxx性| 国产精品伦理一区二区| 亚洲一区二区在线看| 欧美激情视频在线播放| 中文字幕在线观看一区| 伊人色综合久久天天五月婷| 国产原创在线观看| 亚洲精品精品亚洲| 国产精品www在线观看| mm视频在线视频| 欧美日韩中文字幕在线| 日日碰狠狠躁久久躁婷婷| 666av成人影院在线观看| 色婷婷综合五月| 一区二区成人网| 祥仔av免费一区二区三区四区| 欧美精品自拍偷拍动漫精品| 国产精品探花在线播放| 999久久精品| 日韩不卡在线观看| 日韩av片在线| 久久久久国产精品| 久久久久久久爱| 成人毛片在线播放| 麻豆成人免费电影| 91网免费观看| 日本成人一区| 亚洲欧洲日本在线| 国产 日韩 欧美在线| 美女18一级毛片一品久道久久综合| 91成人看片片| 性高潮久久久久久| 亚洲人成网77777色在线播放 | 国产破处视频在线观看| 99视频精品全国免费| 久久久久久亚洲| 波多野结衣一区二区三区四区| 国产在线精品免费av| 国产精品一区视频网站| 福利在线播放| 亚洲一级二级在线| 中文久久久久久| 视频一区中文字幕精品| 精品亚洲一区二区三区| 国产精品国产三级国产传播| 亚洲看片免费| 91香蕉亚洲精品| 全色精品综合影院| 亚洲精品ww久久久久久p站| 99精品视频播放| 日韩视频一二区| 亚洲人在线视频| 久久久久久久久久久网| 蜜桃在线一区二区三区| 国产日韩欧美一区二区| 免费在线你懂的| 日韩欧美高清在线视频| 粗大的内捧猛烈进出视频| 你微笑时很美电视剧整集高清不卡| 久久伊人精品天天| 中文天堂在线资源| 91免费观看视频在线| 国产在线拍揄自揄拍无码| 亚洲播播91| 亚洲激情在线观看| 曰本女人与公拘交酡| 欧美aaaaaa午夜精品| 精品一区二区不卡| 欧美亚洲系列| 欧美高清精品3d| 美国美女黄色片| 久久尤物视频| 精品乱色一区二区中文字幕| 婷婷丁香在线| 欧美一区二区视频免费观看| 成熟人妻av无码专区| 老司机一区二区三区| 国产一区二区久久久| 在线欧美三级| 欧美一区二区三区在线| 中文字幕求饶的少妇| 美日韩一区二区| 亚洲精品成人自拍| 欧美xxxx做受欧美护士| 亚洲乱码国产乱码精品精| www.av视频在线观看| 国产成人8x视频一区二区| 中文字幕欧美日韩一区二区三区| 成人全视频免费观看在线看| 国产一区二区美女视频| 一级黄色av片| 国产欧美一区二区三区在线老狼 | 老司机精品视频在线| 日韩在线三区| 78精品国产综合久久香蕉| 国产亚洲精品美女| 欧美在线视频精品| 中文字幕av一区 二区| 国产精品一区二区小说| 91欧美国产| 91精品国产综合久久香蕉的用户体验 | 神马影院一区二区| 国产福利一区二区三区在线播放| 在线精品91av| 国产精品一区二区人人爽| 亚洲桃色在线一区| 丰满少妇中文字幕| 1024成人| 日韩成人在线资源| 亚洲精品大全| 欧美国产中文字幕| 五月婷婷丁香六月| 91搞黄在线观看| 无码人妻精品中文字幕 | 污片免费在线观看| 男人的天堂亚洲在线| 神马影院一区二区三区| 成人国产精品久久| 欧美激情二区三区| 日韩欧美亚洲系列| 欧美视频在线观看一区| 婷婷色中文字幕| 2020国产精品久久精品美国| 国产精品久久久久9999小说| 久久精品影视| 精品国产免费久久久久久尖叫 | 7777精品久久久大香线蕉小说| 金瓶狂野欧美性猛交xxxx| 亚洲精品天天看| 一卡二卡三卡在线| 亚洲福利视频三区| 免费在线观看a视频| 国产xxx精品视频大全| 成人在线看视频| 亚洲香蕉av| 久久综合一区二区三区| 高清久久精品| 97在线看福利| 免费观看成人高潮| 日韩久久免费电影| 国产精品国产av| 色综合久久88色综合天天免费| 极品色av影院| 91捆绑美女网站| 欧美美女性视频| 99香蕉国产精品偷在线观看 | 小早川怜子久久精品中文字幕| 激情成人午夜视频| av免费中文字幕| 欧美+亚洲+精品+三区| 欧美凹凸一区二区三区视频| 精品中文字幕一区二区三区| 国产福利精品在线| 国产极品在线观看| 九九精品在线播放| 1024视频在线| 亚洲男人天堂网| 黄色一级a毛片| 91精品国产入口在线| 国产免费一区二区三区四区五区| 亚洲一区二区偷拍精品| 黄色录像一级片| 中文字幕精品一区二区三区精品| 欲求不满的岳中文字幕| 国产成人午夜视频| 日本一二区免费| 日本不卡123| 国产一区二区三区精彩视频| 亚洲高清资源| 国产成人免费高清视频| 久久社区一区| 性欧美大战久久久久久久免费观看| 免费福利视频一区| 高清不卡日本v二区在线| 成人av在线播放| 91精品久久久久久综合乱菊| 亚洲不卡系列| 国产精品福利网| 欧美黄色网页| 欧美中文字幕在线播放| 国产理论在线| 午夜精品久久久久久久99热| 色呦呦久久久| 欧美区二区三区| 午夜小视频在线观看| 欧美成人免费视频| 99自拍视频在线观看| 久久久成人精品| 成人免费网站在线观看视频| 久久久电影免费观看完整版| 国产精品剧情| 久久av.com| 日本中文字幕中出在线| 欧美激情亚洲国产| 91精品国产黑色瑜伽裤| 国内精品美女av在线播放| √最新版天堂资源网在线| 久久久免费精品| 国产v日韩v欧美v| 3344国产精品免费看| 欧美7777| 国产精品视频xxxx| 日韩毛片免费视频一级特黄| 成人在线播放av| 伊人久久大香线蕉av超碰| 国产99在线免费| 亚洲精品进入| 五月天亚洲综合情| 99久久99久久精品国产片果冰| 中文字幕一区二区三区最新 | 久本草在线中文字幕亚洲| 精品国产一区二区三| 久久91精品| 一区二区三区在线视频看| 欧美激情五月| 成人毛片一区二区| 日韩国产成人精品| 在线观看中文av| 91最新地址在线播放| 中文字幕在线观看免费高清| 亚洲欧美在线视频观看| 精品视频一区二区在线观看| 日韩欧美在线观看视频| 亚洲专区第一页| 精品国产1区2区3区| 欧洲亚洲精品视频| 久久精品电影网| 九色porny自拍视频在线播放| 国产精品电影网站| 一区二区三区亚洲变态调教大结局| 精品视频第一区| 999国产精品视频| 欧美精品一区二区三区三州| 热久久免费视频| 性活交片大全免费看| 国产女同互慰高潮91漫画| 久久精品视频国产| 欧美日韩亚洲综合在线| 天天干天天摸天天操| 日韩中文字幕在线| 在线毛片观看| 亚洲伊人一本大道中文字幕| 国产成人调教视频在线观看| 妞干网视频在线观看| 美女性感视频久久| 国产精品久久久免费观看| 亚洲欧洲日韩综合一区二区| 国产亚洲欧美日韩高清| 亚洲精品在线三区| 久久五月精品| 国产精品福利无圣光在线一区| 国产乱论精品| 欧美做受777cos| 麻豆一区二区三区| 性欧美13一14内谢| 亚洲制服丝袜av| 91久久久久国产一区二区| 亚洲欧美日韩天堂一区二区| h片在线观看| 91超碰在线电影| 国产国产精品| 国产日韩成人内射视频| 99久久精品免费看国产免费软件| 国产免费无码一区二区视频| 欧美日韩精品福利| 欧美欧美欧美| 91产国在线观看动作片喷水| av不卡一区二区| www国产无套内射com| 久久成人羞羞网站| 一级二级黄色片| 欧美网站一区二区| 国产乱子伦三级在线播放| 91av在线免费观看| 99热这里只有精品首页| 蜜臀在线免费观看| 美女一区二区久久| 成年人视频软件| 色噜噜夜夜夜综合网| 欧美另类自拍| 91极品视频在线| 午夜先锋成人动漫在线| 999一区二区三区| 成人免费视频视频在线观看免费| 成人免费视频国产免费观看| 欧美日韩免费在线视频| 在线国产情侣| 国产精品美女无圣光视频| 欧美色女视频| 久久人妻精品白浆国产| 日本一区二区三区高清不卡| 久久久久久久久黄色| 亚洲女人被黑人巨大进入al| 国产精品av一区二区三区 | 九九久久精品| 国产无套粉嫩白浆内谢的出处| 99久久免费视频.com| 东方av正在进入| 欧美一级一区二区| 成人黄视频在线观看| 91精品网站| 欧美午夜一区二区福利视频| 亚洲欧美高清在线| 亚洲国产一区二区三区 | 国产一区二区激情| 天天综合网站| 在线视频不卡一区二区三区| 久久se精品一区二区| 激情五月婷婷在线| 精品久久久久久久人人人人传媒 | 久久婷婷国产91天堂综合精品| 久久久久久免费毛片精品| 中文字幕日本人妻久久久免费 | 天堂地址在线www| 91精品婷婷国产综合久久蝌蚪| 欧美日韩精品一本二本三本 | 99久久婷婷国产综合精品| 欧美一级片免费在线观看| 日韩精品中文字幕一区| 黄色污污视频在线观看| 国产日韩久久| 理论电影国产精品| 18岁成人毛片| 亚洲精品一区在线观看香蕉 | 91久久精品久久国产性色也91| 一区二区国产在线| 国产精品999.| 欧美性极品xxxx做受| 超碰免费在线| 国产精品久久久对白| 国产精品日韩久久久| 很污很黄的网站| 精品少妇一区二区三区日产乱码 | 国产中文在线观看| 国产精品视频不卡| 红桃视频国产精品|