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

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

Jul 13, 2016 pm 04:55 PM
mysql php リフレッシュする 原理 できる 成し遂げる 建てる チュートリアル プログラム 単純 チャットルーム

チャット ルームを実装できるプログラムは数多くありますが、原理は単純で、更新せずに実装できます。最も単純なものは、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 を使用してページを常に更新し、データベースからユーザーのレコードを読み取ることです...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL:データベース、phpmyAdmin:管理インターフェイス MySQL:データベース、phpmyAdmin:管理インターフェイス Apr 29, 2025 am 12:44 AM

MySQLとPHPMyAdminは、次の手順を通じて効果的に管理できます。1。データベースの作成と削除:PHPMyAdminをクリックして完了します。 2。テーブルの管理:テーブルを作成し、構造を変更し、インデックスを追加できます。 3。データ操作:データの挿入、更新、削除、SQLクエリの実行をサポートします。 4。データのインポートとエクスポート:SQL、CSV、XML、およびその他の形式をサポートします。 5。最適化と監視:最適化可能なコマンドを使用してテーブルを最適化し、クエリアナライザーと監視ツールを使用してパフォーマンスの問題を解決します。

session_start()関数の重要性は何ですか? session_start()関数の重要性は何ですか? May 03, 2025 am 12:18 AM

session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

フィールドをMySQLテーブルに追加および削除する手順 フィールドをMySQLテーブルに追加および削除する手順 Apr 29, 2025 pm 04:15 PM

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

MACOSシステム上のMySQLのインストール手順の詳細な説明 MACOSシステム上のMySQLのインストール手順の詳細な説明 Apr 29, 2025 pm 03:36 PM

MASQLのインストールは、次の手順で実現できます。1。コマンド/bin/bash-c"$(curl-fsslhttps://raw.githubusercontent.com/homebrew/install/head/install.sh)を使用して、Homebrewをインストールします。 2. Homebrewを更新し、Brewupdateを使用します。 3. mysqlをインストールし、Br​​ewinstallmysqlを使用します。 4. mysqlサービスを開始し、Brewservicesstartmysqlを使用します。インストール後、MySQL-Uを使用できます

データ処理と計算にMySQL関数を使用する方法 データ処理と計算にMySQL関数を使用する方法 Apr 29, 2025 pm 04:21 PM

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

MySQLをアンインストールし、残留ファイルをクリーンする方法 MySQLをアンインストールし、残留ファイルをクリーンする方法 Apr 29, 2025 pm 04:03 PM

安全かつ徹底的にMySQLをアンインストールし、すべての残留ファイルをクリーンにするには、次の手順に従ってください。1。MySQLサービスを停止します。 2。MySQLパッケージをアンインストールします。 3.構成ファイルとデータディレクトリのクリーン。 4.アンインストールが徹底していることを確認します。

MySQLにデータを挿入する効率的な方法 MySQLにデータを挿入する効率的な方法 Apr 29, 2025 pm 04:18 PM

MySQLでデータを挿入するための効率的な方法には、次のものが含まれます。1。insertInto ...値構文、2。LoadDatainFileコマンドの使用、3。トランザクション処理の使用、4。バッチサイズの調整、5。Insurtignoreまたは挿入の使用...

作曲家:PHP開発者のパッケージマネージャー 作曲家:PHP開発者のパッケージマネージャー May 02, 2025 am 12:23 AM

Composerは、PHPの依存関係管理ツールであり、Composer.jsonファイルを介してプロジェクトの依存関係を管理しています。 1)依存関係情報を取得するためのComposer.jsonを解析する。 2)依存関係を解析して、依存性ツリーを形成します。 3)PackagistからVendorディレクトリへの依存関係をダウンロードしてインストールします。 4)Composer.Lockファイルを生成して、依存関係バージョンをロックして、チームの一貫性とプロジェクトの保守性を確保します。

See all articles