2017-12-13 3 views
0

まずは上のユーザセッションを終了する方法、私はWeb開発に非常に新しいですし、PHP/jQueryのなど窓の近くに、PHP

私のウェブサイトでユーザーがいくつかの$ _SESSION変数を設定する、ログインすることができますユーザ名を「アクティブユーザ」のMYSQLテーブルに保存します。手動でログアウトする場合は、[ログアウト]ボタンをクリックしてください。ただし、ログアウトせずにブラウザウィンドウを閉じると、データベースは更新されません。

私はjavascriptの "onunload"イベントが望ましくないことを知りました。私は、非アクティブをチェックするという言葉を見ました。私はブラウザが既に閉じられた後に何かをチェックする方法を理解していない。

ブラウザを閉じるとユーザーのセッションが終了したことを確認するにはどうすればよいですか?

答えて

0

lastSeenでデータベースにdateTimeを作成し、ユーザーが新しい要求を行い、その時間差が10分の場合はログインしてログアウト画面にリダイレクトするようにしてください。

サイトのアクティブユーザーの数を確認する場合は、過去10分間に表示されたユーザーのみを表示するクエリを作成できます。

ps;:10分は多かれ少なかれ当然です。

+0

返信いただきありがとうございます。私がこれをしたと仮定すると、このコードはどこで実行されますか?同様に、ユーザーが既にブラウザを閉じた場合、これらの「最後に見た」チェックはどのように行われますか?または、このシステムは、チェックを実行するためにアクティブな少なくとも1人のユーザーに依存していますか? – Vether

+0

あなたはそうすることができますが、 'active user ''テーブルを持たないことを強くお勧めします。 'last_seen'フィールドを持つユーザーだけが、サーバー側ではアクティブユーザーを計算するロジックを実装します。 。 – Peter

+0

最後の部分は、私はあなたが "サーバー側"ロジックを持つことができるかどうか分からなかったことを説明してください。スクリプトや何かSQL上で設定できますか?これはどうやって行われますか? MYSQL上のロジックを起動しますか? – Vether