首頁 > 後端開發 > php教程 > 用PHP MySql寫聊天室_PHP教學

用PHP MySql寫聊天室_PHP教學

WBOY
發布: 2016-07-21 16:02:48
原創
687 人瀏覽過

大家好!好久沒看到大家了,上次寫了用PHP的透過檔案操作的聊天室,當然是漏洞百出的,而且每一次刷新螢幕都很糟糕的!我想了好久,是不是能有一種方法不要刷新,就能取得發言的訊息了?多用一個框架就能實現這個效果了,即多用一個框架我們稱為getmsg,我們讓getmeg去獲取信息而且保證每一次取得的信息是最新的,就是上次取得的發言就不要了,上次我編的就是每一次取得資訊都是重複的,這樣效果不好。
     我的設計思想是:每一次發言,都把它提交到伺服器上,然後保存到一個資料庫裡,每格幾秒鐘getmsg就去伺服器上取得最新發言數據,並保證上次取得的發言就不要取下來了,然後把取下來的發言疊加到一個專門顯示發言的視窗(listmsg)去。這樣我們就感覺listmsg視窗不會有重刷新的感覺而且,只是看到發言信息不斷加進去,這樣就有很好的效果,
怎樣在一個框架把信息加到另個框架去了?用JavaScript就可以實現這個想法的:

當然你得在mysql裡建兩個表,一個表用於保存發言信息,一個表用於保存幾個在線的,在列在線人數時,我們讓它每個60秒刷新一次,並把一分鐘以前的發言刪掉,並看某個發言人是不是很長時間沒發言了,是的話,就刪掉他,
由於表的子段很簡單,在這裡就不要寫出來了,看程式就會知道了。這個程式在網路下測試的效果都很好!
表格的名稱是:chat和chat_getmsg

if(!isset($username))  
    $$username= "guest";
  $conid=mysql_connect("localhost","yourcounter","password");
  mysql_select_db("yourdadabase",$conid);
$dstr=date("yourdadabase",$conid);
$dstr=date("YHmdis); ;
$sql="insert chat_getmsg(用戶名,shijian)values('$username','$dstr')";
mysql_query($sql,$conid);
$sql="update chat_getmsg set shijian='$dstr' where username='$username'";
mysql_query($sql,$conid);
mysql_close($conid);
? >


無標題文件

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板