PHP は、多くのアプリケーションと対話できる、広く使用されているスクリプト言語です。非常に一般的なアプリケーションの 1 つは通信システムです。このようなシステムでは、通常、複数のユーザーが中央システムと通信します。この記事では、PHP を使用して多対 1 通信を実装する方法について説明します。
多対 1 通信とは、複数のユーザーが中央システムと通信するプロセスを指します。このプロセスでは、あるユーザーが中央システムにメッセージを送信し、別のユーザーがこのメッセージを受信できます。このコミュニケーション形式は、オンライン チャット ルーム、ソーシャル メディアなど、非常に一般的です。ユーザーがチャット ルームに入って他のユーザーと会話できるオンライン チャット ルームがあるとします。私たちのタスクは、PHP を使用してこのチャット ルームを実装することです。
チャット ルームを実装するには、2 つの PHP スクリプトが必要です。最初のスクリプトは、ユーザーがメッセージを入力できるフォームを含む入力ページです。 2 番目のスクリプトは、データベースからすべてのユーザーのメッセージを取得し、画面に出力する出力ページです。
最初のスクリプトでは、ユーザー入力を受け取るフォームが必要です。フォームにはテキスト ボックスと送信ボタンが含まれます。ユーザーはテキスト ボックスにメッセージを入力でき、送信ボタンをクリックするとメッセージが中央システムに送信されます。ユーザーが送信ボタンをクリックすると、PHP を使用してメッセージがデータベースに書き込まれます。
2 番目のスクリプトでは、すべてのユーザーのメッセージをデータベースから取得して画面に出力するループが必要です。次のコードを使用してデータベースからメッセージを読み取ることができます。
$sql = "SELECT * FROM messages"; $result = mysqli_query($link, $sql); while($row = mysqli_fetch_assoc($result)) { echo $row["user"] . ": " . $row["message"]; }
上記のコードでは、「messages」はすべてのメッセージを含むデータベース内のテーブルです。ループはテーブルから各メッセージを読み取り、メッセージを画面に出力します。
これで、メッセージの書き込み用とメッセージの読み取り用の 2 つのスクリプトがすでに存在します。ただし、それらを組み合わせる方法も必要です。これには、Ajax を使用できます。
Ajax は、ページをリロードせずにサーバーからデータを取得するために使用される非同期 JavaScript および XML テクノロジです。 Ajax を使用すると、ユーザー入力ページのフォームをサーバーに送信し、出力ページで最新のメッセージを取得できます。 Ajax の使用方法は次のとおりです。
まず、入力ページで、Ajax を使用してサーバーにメッセージを送信するための JavaScript 関数が必要です。このプロセスを簡素化するために jQuery ライブラリを使用することに注意してください。
function submitMessage() { var message = $("#messageInput").val(); $.post("submit.php", {message: message}); }
上記のコードでは、「messageInput」はテキスト ボックスで、ユーザーが入力したメッセージが含まれています。この関数は $.post 関数を使用して、サーバー上の "submit.php" スクリプトにメッセージを送信します。
次に、出力ページで、Ajax を使用してサーバーから最新のメッセージを取得する別の JavaScript 関数が必要です。その方法は次のとおりです。
function getMessages() { $.get("output.php", function(data) { $("#output").html(data); }); }
上記のコードでは、「output.php」が出力ページであり、データベースから最新のメッセージを取得します。この関数は $.get 関数を使用して出力ページからデータを取得し、そのデータを画面に出力します。
最後に、getMessages 関数を定期的に呼び出して最新のメッセージを取得する必要があります。これを実現するには、JavaScript のタイマー関数 setInterval を使用します。
setInterval(function() { getMessages(); }, 1000);
上記のコードでは、setInterval 関数は 1000 ミリ秒ごとに getMessages 関数を呼び出し、最新のメッセージを取得します。
これで、PHP と Ajax を使用した多対 1 のコミュニケーション システム、オンライン チャット ルームの実装に成功しました。ユーザーは中央システムにメッセージを送信でき、他のユーザーは出力ページでこれらのメッセージを確認できます。このシステムは、ソーシャル メディア、オンライン フォーラムなどの多くのアプリケーションで使用できます。
以上がPHP を使用して多対 1 の通信機能を実装する方法について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。