こんにちは、サイトに IM チャット システムをセットアップして、ユーザーがユーザー プロファイルにアクセスしてメッセージを送信できるようにしようとしています。
これまでのところ、ユーザー 1 はユーザー 2 にメッセージを送信でき、ユーザー 1 とユーザー 2 の両方がそのボックス ウィンドウでチャットを見ることができます。
私のデータベースは次のようになります。
id | to_user_id | from_user_id | date_added | content
1 2 1 10/01/12 hello
私のmysql挿入は次のようになります:
$sql = "INSERT INTO ptb_chats (id, to_user_id, from_user_id, content) VALUES (NULL, '".$profile_id."', '".$_SESSION['user_id']."', '".$chat_area."');";
mysql_query($sql, $connection);
$profile_id はユーザーのプロファイルを保存するため、メッセージを送信するユーザーがわかりますが、メッセージを受信するユーザーも自分のプロファイルに表示されます。これはチャット ウィンドウが配置されているためです。
したがって、ユーザー 1 がユーザー 2 のプロファイルに移動し、ユーザー 1 がメッセージを入力するため、問題が発生します。ユーザー 2 はこのメッセージを受け取りますが、ユーザー 2 がユーザー 1 に返信しようとすると、ユーザー 2 はプロファイルから返信するため、データベースの to_user_id には $profile_id が保存されます。
そのため、ユーザー 2 がユーザー 1 に送り返すメッセージは、ユーザー 1 には配信されず、ユーザー 2 に配信されます。to_user_id は、ユーザーがオンになっているプロファイルに設定されています。
前のメッセージの from_user_id を保存し、返信時に to_user_id の値として挿入する方法が必要ですか?
これが理にかなっていることを願っています。助けていただければ幸いです。