「アクティブ」フィールドは、ユーザーのログイン機能をオン/オフできるようにするために使用されます。データベースを調べると、作成したすべてのユーザーが「アクティブ = 1」になっていることがわかります。このフィールドでは、ユーザーがログインしているかどうかはわかりません。何らかの指標を提供できる唯一の種類のフィールドは、「last_login」フィールドです。これは、最後にいつログインしたかを示します。ただし、これは、現在ログインしているかどうかを示すものではありません (基本的に、ログインしているかどうかを知りたい場合)。まだアクティブなセッションがあり、そのユーザーの PC を使用していないため、これを知る方法はありません)。
ユーザーが現在ログインしているかどうかをより正確に追跡する唯一の方法は、ユーザーが最後にページにアクセスした時間をデータベースに追跡させることです。ユーザーが最後にページにアクセスしたのがかなり前の場合、ユーザーがログインしていないことがわかります。これにより、サイトのすべてのリクエスト/更新に対して基本的にデータベースの書き込みがあるため、このアプローチはお勧めしません。ユーザー。これは、特にユーザーで忙しい場合、データベース/サーバーの負荷にとって問題になる可能性があります.
では、より合理的な選択肢にはどのようなものがありますか?
- 前回のログインを確認して、誰がログインしたかを把握してください。
- ユーザーがまだログインしている場合は、システム前またはコントローラー前のフックを実行してユーザーのテーブルを更新しますが、これをデータベースに書き込む頻度を減らします。これを追跡するには、ユーザーのテーブルに新しいフィールドを追加する必要があります。
- Google アナリティクスは、サイトのアクティブ ユーザー数を概算します。ただし、これは合計を提供するだけであり、これらのユーザーが実際に誰であるかについての詳細は提供しません.