2017-01-19 3 views
0

私はWebアプリケーション(laravel 5.3、mysql)を利用して、プロジェクトのエンティティにコメントすることができます(ほとんどすべてのページにはチャットのようなものが含まれています)Webアプリケーションのメッセージの中に隠しフィールドを格納する方法は?

メッセージの中に '@'記号「こんにちは、@ジョン、ここを見てください」など)。

このメッセージがチャットに投稿されたとき、Johnという名前のユーザーは、新しいメッセージについて通知する必要があります(電子メールで、彼がオフラインの場合)。

すべてのメッセージはいくつかのページ(たとえば/ object/45)に接続されているので、電子メールが送信されると、ユーザーは彼が言及されたページを知るでしょう。

質問はこの内部データベースをどのように保存するのですか?

messageフィールドは、このデータ(引用符なし)「こんにちは、@ジョンは、ここを参照してください」を含むことになり、この例の行ではtext

を入力しています。

問題は、「ジョンは」私はシンプルませんすることはできません名前を持つ多くのユーザーがあり得ることです、

select email from users where username = 'John' -- email is used as login 

また、ユーザ名は@John Malkovichようなものにすることができますので、私は見つけるために文字列を解析する必要があります「John」または「John Malkovich」が言及されていれば

ユニークユーザーIDとは何ですか?

この内部データベースをどのように保存するのですか?

考えられる解決策:

Hello, [user=34], see here - データベース

内のフィールド

解析文字列のWebブラウザに表示する前と

Hello, @John, see here

で、この文字列を置換しかし、明らかに、誰もがリテラル貼り付けることはできませんテキスト '[user = 123]'は、メッセージ内でユーザーIDとして解釈されるためです。

P.S. 1つのメッセージの中には、多くのユーザーを挙げることができます。

答えて

0

多分<span value="user34">John Malkovich</span>のようなものを作成し、その値を解析できますか?

<span data-user-id="user34">John Malkovich</span>はおそらく意味的に優れています。

は、しかしもののこの種では絶対に経験がないので、あまりにも真剣に私を取ることはありません。)

+0

それは私の溶液から違いはありません。 – changer

+0

それは多少です。ユーザーは 'value'や' data-user-id'を見ず、JavaScriptやバックエンドで簡単に解析することができます。 – Loek

関連する問題