はじめに
チャット アプリはオンラインで非常に一般的です。開発者には、このようなアプリケーションを構築する際にも多くのオプションがあります。この記事では、ページを更新せずにメッセージを送受信できる PHP-AJAX ベースのチャット アプリケーションを実装する方法について説明します。
コアロジック
アプリケーションの中核機能を定義する前に、次のスクリーンショットに示すように、チャット アプリケーションの基本的な外観を見てみましょう。
チャットウィンドウの下部にある入力ボックスにチャットテキストを入力します。 「送信」ボタンをクリックして関数 set_chat_msg の実行を開始します。これは Ajax ベースの関数であるため、ページを更新せずにチャット テキストをサーバーに送信できます。プログラムは、ユーザー名とチャット テキストとともにサーバー内で chat_send_ajax.php を実行します。
リーリー
PHPモジュールはクエリ文字列(クエリ文字列)からフォームデータを受け取り、それをchatという名前のデータベーステーブルに更新します。チャット データベース テーブルには という名前の列があります。 ID フィールドは自動インクリメント フィールドであるため、この ID フィールドに割り当てられた値は自動的にインクリメントされます。現在の日時が CHATDATE 列に更新されます。 ID
、USERNAME
、CHATDATE
和MSG
リーリー
データベース テーブル内のすべてのユーザーからチャット メッセージを受信するために、タイマー関数は 5 秒間ループするように設定され、次の JavaScript コマンドを呼び出します。つまり、get_chat_msg 関数が 5 秒ごとに実行されます。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 関数に入ります。
リーリー
chat_recv_ajax.php プログラムでは、ユーザーからのチャット メッセージが SQL コマンドを通じて収集されます。行数を制限するために、SQL クエリに制限句 (limit 200) も指定されます。これには、チャット データベース テーブルの最後の 200 行が必要です。取得したメッセージは、チャットウィンドウに内容を表示するための Ajax 関数に返されます。 select
リーリー
次の SQL CREATE TABLE コマンドを使用して、chat という名前のデータベース テーブルを作成できます。ユーザーが入力したすべての情報はデータベース テーブルに入力されます。テーブルチャットを作成( id bigint AUTO_INCREMENT,ユーザー名 varchar(20),
chatdate datetime,msg varchar(500), 主キー(id));
名所
チャット アプリケーションを実装するためのこのコードは非常に興味深いです。本格的な HTTP チャット アプリケーションに改良できます。このアプリケーションを作成するロジックも非常にシンプルです。初心者でも理解に苦しむことはありません。
ライセンス
この記事、および関連するソース コードおよびファイルは、The Code Project Open License (CPOL) に基づいてライセンスされています。翻訳リンク: http://www.codeceo.com/article/php-chart-app.html
英語原文:PHPのチャットアプリ