私は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つのメッセージの中には、多くのユーザーを挙げることができます。
それは私の溶液から違いはありません。 – changer
それは多少です。ユーザーは 'value'や' data-user-id'を見ず、JavaScriptやバックエンドで簡単に解析することができます。 – Loek