ホームページ > バックエンド開発 > PHPチュートリアル > PHP+MySql_PHP を使用してチャット ルームを作成するチュートリアル

PHP+MySql_PHP を使用してチャット ルームを作成するチュートリアル

WBOY
リリース: 2016-07-21 16:02:48
オリジナル
678 人が閲覧しました

こんにちは、みんな!前回、PHP を使用してファイルを操作するチャット ルームについて書きましたが、当然ながら、画面を更新するたびにひどい状態になります。長い間考えていましたが、リフレッシュせずに音声情報を取得する方法はありますか?この効果は、もう 1 つのフレームワークを使用することで実現できます。つまり、getmsg に情報を取得させ、毎回取得した情報が最新であることを確認します。つまり、前回取得した音声は必要ありません。 . 前回の編集 問題は、情報を取得するたびにそれが繰り返され、効果的ではないことです。
私の設計アイデアは、すべてのスピーチをサーバーに送信し、それをデータベースに保存することです。Getmsg はサーバーにアクセスして数秒ごとに最新のスピーチ データを取得し、取得した最後のスピーチが使用されないようにします。それを削除し、削除したスピーチをスピーチ表示専用のウィンドウ (listmsg) に重ね合わせます。このようにすると、listmsg ウィンドウを更新する必要がなくなります。さらに、音声情報が継続的に追加されるだけなので、非常に良い効果が得られます。
あるフレームから別のフレームに情報を追加するにはどうすればよいでしょうか。このアイデアは JavaScript を使用して実現できます。

もちろん、mysql で 2 つのテーブルを作成する必要があります。1 つのテーブルは音声情報を保存するために使用され、もう 1 つのテーブルは人数をリストするときに使用されます。オンラインでは、60 秒ごとに更新し、1 分前の発言を削除し、特定の発言者が長期間発言していないかどうかを確認します。そうであれば、その発言者を削除します。ここに書かなくても、プログラムを見れば分かります。このプログラムはオンラインでもオフラインでも非常にうまく機能します。
表の名前は:chatとchat_getmsg

if(!isset($username))
$username="guest";
$conid=mysql_connect("localhost","yourcounter","password");
mysql_select_db("yourdabase",$conid);
$dstr=date("YmdHis");
$sql="chat_getmsg (ユーザー名,shijian) 値を挿入 ('$ユーザー名','$dstr')";
mysql_query($sql,$conid);
$sql="chat_getmsg を更新 set shijian='$dstr' where username='$username'";
mysql_query($sql,$conid);
mysql_close($conid);
?>

<頭>
無題のドキュメント


  
  



  
n"; ?>
n"; ?>


<body bgcolor="#FFFFFF"> <br><br></body>


if(!isset($username))
$username="guest";
if(!isset($yanse))
$yanse="ブルー";
if(!isset($objectname))
$objectname="大家";
?>

<頭>
無題のドキュメント




<ボディ bgcolor="#ff3333">

クラス="ノーマルフォント">

  


      

  




颜色:

発行文:


>


对象:
>
回帰



<スクリプト言語="JavaScript">



if(isset($username)&&isset($fayan)){
$conid=mysql_connect("localhost","yourcount","yourpassword");
mysql_select_db("データベース",$conid);
$sql="チャット (ユーザー名,オブジェクト名,アクション,メッセージ,カラー) の値を挿入 ("$ユーザー名","$オブジェクト名","NO","$fayan","$yanse")";
mysql_query($sql,$conid);
mysql_close($conid);
}
?>



無題のドキュメント

$conid=mysql_pconnect("localhost","yourcount","password");
mysql_select_db("データベース",$conid);

if(!isset($username))
$username="getmsg";  
$dt=時間();   
$newdate=date("YmdHis",$dt);
$fromdate=date("YmdHis",$dt-6);;

$sql="shijian のチャットからユーザー名を名前、msg、アクション、オブジェクト名、shijian、色として選択>="$fromdate"";
$res=mysql_query($sql,$conid);

echo "n";
echo "n";

echo "n";
?>







Untitled Document

if(!isset($username))
$username="guest";
echo "n";
echo "n";

echo "n";
?>






Untitled Document







欢迎光临






<スクリプト言語="JavaScript">







無題のドキュメント





<ボディ bgcolor="#33ff00" >

在回線人数


if(!isset($username))
$username="guest";
$dt=時間();   
$newdate=date("YmdHis",$dt);
$fromdate=date("YmdHis",$dt-200);
$linkid=mysql_connect("localhost","yourcount","password");
mysql_select_db("データベース",$linkid);
$sql="update chat_getmsg set shijian="$newdate" where username="$username"";
mysql_query($sql,$linkid);
$sql="chat_getmsg where shijian からユーザー名を選択>="$fromdate"";
$res=mysql_query($sql,$linkid);  
while(list($username)=mysql_fetch_row($res)){
echo "$username
n";
$fromdate=date("YmdHis",$dt-100);
$sql="shijian がいるチャットから削除<="$fromdate"";
mysql_query($sql,$linkid);
mysql_close($linkid);
}
?>

<スクリプト言語="JavaScript">






【本文版权归作者与奥索网共同拥有,如果转下,请注明作者及出处】

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/316487.html技術記事大家好!好久在看到大家了不,上次書了PHP的通過文件操作的聊天室,当然漏洞百出的,而今刷新幕都很糟糕的!我想了好久...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート