ホームページ > バックエンド開発 > PHPチュートリアル > php mysql チャット ルーム チュートリアル チュートリアル_PHP チュートリアル

php mysql チャット ルーム チュートリアル チュートリアル_PHP チュートリアル

WBOY
リリース: 2016-07-13 16:55:55
オリジナル
1003 人が閲覧しました

チャット ルームを実装できるプログラムは数多くありますが、原理は単純で、更新せずに実装できます。最も単純なものは、iframe を使用してページを常に更新し、データベースからユーザーのレコードを読み取ることです。

MySQL は強力な同時実行性と高速な応答速度を備え、優れたパフォーマンスを備えたデータベース ソフトウェアです。PHP は強力なサーバーサイド スクリプト言語です。山西アルミニウム工場の Web サイト開発では、筆者は PHP4.0+MySQL3.23.38 を使用してさまざまなアプリケーションを構築しました。次に、単純なチャット ルームのデザインを例として、Web 開発における PHP + MySQL のアプリケーションを紹介します。

1.全体デザイン

1.1 構想と計画:

チャットルームの基本原理は、同じWebページに接続している各ユーザーが送信した音声データを保存し、すべての音声データを各ユーザーに送信することです。つまり、チャットルームの機能は、全員の発言をデータベースに収集し、データベース内のデータを全員に送信することで実現されます。

1.2 テーブルデザイン

まず、MySQL を使用して、ユーザー コメントを保存するためのテーブル チャットを作成します。

コードは次のとおりです コードをコピー

mysql> CREATE TABLE チャット
-> (chtime DATATIME,
->ニック CHAR(10) NULL ではありません、
->単語 CHAR(150));


テーブルに設定されるフィールドは 3 つだけです。chtime は発言時間、nick は発言者のニックネーム、words は発言内容、発言は最大 150 文字です

1.3 Webデザイン

最も単純なチャット ルームには、通常 2 つのページ フレームが必要です。1 つのページ フレームはユーザーがコメントを入力するためのフォームで、もう 1 つは全員のコメントを表示するために使用されます。したがって、コード スニペットには通常、少なくとも次のセグメントが必要です:

ページフレーム(main.php)の構造を作成します

全員が発言する番組部分を表示(cdisplay.php)

ユーザーが話す番組部分(speak.php)を送信します

チャットルームプログラムセグメント(login.php)に入るためにユーザーがログインします

2. コード設計

上記の計画が完了したら、PHPを使用すると上記の機能を非常に簡単に実現できます。

2.1 ユーザーログインlogin.php、このコードは完全なHTML Webページです

コードは次のとおりです コードをコピー
<html>
<頭>
<title>ユーザーログイン</title>
</頭>
<本文>ニックネームをご入力ください<br>
<form action=”main.php” Method=”post” target=”_self”>
<input type=”text” name=”nick”cols=”20”>
<入力タイプ=”送信” 値=”ログイン”>
</本文>
</html>


ユーザーがニックネームを送信した後、チャットルームに入室すると、以下の処理が main.php によって処理されます。

2.2 ページフレームのメインコード部分 main.php:

コードは次のとおりです コードをコピー

<?
setcookie(“nick”,$nick) //Cookie を使用してユーザーのニックネームを記録します。これは、変数を渡す一般的に使用される方法です
?>

<html>
<title>山西アルミニウム工場チャットルーム 体験版ver1.0</title>
<フレームセット行=”80%,*”>
<frame src=”cdisplay.php” name=”chatdisplay”>
<frame src=”speak.php” name=”speak”>
</フレームセット>
</html>


2.3 音声表示 cdisplay.php

このコードセグメントのタスクは、チャットテーブルからデータを取り出してページフレームに表示することです。更新されるたびに、データベース内の最新の 15 個のステートメントがフェッチされます。同時に、データベースが無制限に増大しないように、古いデータを削除する機能を設計する必要があります。コードは次のとおりです

コードは次のとおりです コードをコピー
<html>
<頭>
<title>ユーザーコメントを表示</title>
<meta http-equiv=”refresh” content=”5;url=cdisplay.php”>
</頭>
<本体>
<?
$link_ID=mysql_connect("メイン","ルート");
//Mysql サーバーへのリンク。サーバー名は main、管理者名は root
mysql_select_db("abc"); //データベースを選択します
$str=”select * from chat ORDER BY chtime;” //クエリ文字列
; $result=mysql_query($str, $link_ID) //クエリを送信します
$rows=mysql_num_rows($result); //クエリ結果から取得したレコード数
//最新の 15 件のコメントを取得して表示します
@mysql_data_seek($resut,$rows-15); //レコードポインタを最初の 15 レコードに移動します
if ($rows<15) $l=$rows; else $l=15; //レコードの総数が 15 未満の場合、最大レコード数
for ($i=1;$i<=$l;$i++) {
list($chtime,$nick,$words)=mysql_fetch_row($result);
echo $chtime; echo " ";echo $nick; echo":" ; echo "
";
}
//ライブラリ内の古いデータを消去します
@mysql_data_seek($result,$rows-20); //レコードポインタを最初の 20 レコードに移動します
list($limtime)=mysql_fetch_row($result);
$str=”チャット WHERE から削除 chtime<’$limtime’ ;
” $result=mysql_query($str,$link_ID); //最初の 20 レコードのみをライブラリに残してクエリ文字列を送信します
mysql_close($link_ID);
?>
</本文>
</html>

2.4 音声をデータベースspeak.phpに送信する

コードは次のとおりです コードをコピー
<html>
<頭>
スピーチ
</頭>
<本体>
<?
もし ($words)
{ $link_ID=mysql_connect("main","root");
mysql_select_db("abc"); //データベース名はabc
です $time=date(y).date(m).date(d).date(h).date(i).(date(s); // 現在時刻を取得します
$str=”チャット(chtime,nick,words)値に挿入
('$タイム','$ニック','$ワード');” mysql_query($str,$link_ID); // ステートメントをデータベースに送信します
mysql_close($link_ID);
}
?>
//話すための入力フォーム

コードは次のとおりですコードをコピー
<form action=”speak.php” method=”post” target=”_self”>

<input type=”text” name=”words”cols=”20”>
<input type=”submit” value=”Speak”>
</フォーム>
</本文>
</html>

以上の作業が完了すると、簡易チャットルームが完成します

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631641.html技術記事チャット ルームを実装できるプログラムは数多くありますが、原理は単純で、更新せずに実装できます。最も単純な方法は、iframe を使用してページを常に更新し、データベースからユーザーのレコードを読み取ることです...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート