Javascript、PHP、および mySQL を使用して、かなり複雑なプロジェクト管理システムを作成しています。すべてのユーザーは mySQL テーブルに保存され、ログイン時に PHP でセッション変数を設定し、最後にログインした時間をログに記録します。単純にこれを行うのは、ユーザーが F5 キーを押してアクセス数を増やすことができないようにするためです。
ログインしているすべてのユーザーが、現在サイトにログインしている他のすべてのユーザーのリストを表示できるようにしたいと考えています。
これを解決するために私が見ることができる唯一の方法は、2つのことを行うPHPスクリプトを起動することです(たとえば、10秒ごとに)。現在のユーザーの現在の時刻を mySQL テーブルに記録し、他のすべてのユーザーの最後のログ時刻を調べます。最後のログ時間が現在の時間の 20 秒未満である人は、ログイン済みとして表示されます。
Javascript、Ajaxなどでタイマーを使用してこれらすべてを行う方法は知っていますが、必要なことを達成する方法はかなり洗練されていないように思えます。
私の質問:
これは私が望むものを達成するための最良の方法ですか
ajax呼び出しを送信し、すべてのユーザーに対して10秒ごとにmySQLデータベースを更新することは、プログラミングの良い方法ですか.