2017-10-24 6 views
0

タイムスタンプを取得し、そのタイムスタンプをクッキーとして保存するか、PHPセッションがタイムアウトしたときにmysqlデータベースに保存することはできますか? 私は期限切れになってしまい、セッションがどれくらい持続しているかを再確認したいと思っています。PHPセッションの終了時にタイムスタンプを取得するにはどうすればよいですか?

こうして、私は何時に人がログインし、何時に彼らが追い出されたりログアウトされたかを知ることができます。

+1

実際に活動時間を覗きこませたい場合は、ユーザーがログインしてログアウトするとDBに時間を挿入できます。なぜあなたはこのアプローチで行かないのですか? –

+0

私もそうするつもりですが、誰かが実際にログアウトすることはまれで、通常はブラウザを閉じるだけです。 – AllianceHardware

+0

'onbeforeunload'イベントが実行された後、AJAXポストをどこかで起動してデータベースに記録することができます。 https://stackoverflow.com/questions/20853142/trying-to-detect-browser-close-event – Waragi

答えて

-1

興味深い質問です。私のアプリケーションでも同様のケースがあったので、あなたのデータベース内のsessionsをすべて追跡できます。列名はsessionで、この列にはsession_idlogin_timelast_visiteduser_idなどの属性が含まれています。また、ユーザーがログイン要求を送信するたびにこのテーブルを更新します。

ユーザーがブラウザまたはブラウザウィンドウを閉じるか、アクティビティが表示されない場合があります。あなたには2つのアプローチがあります

1- javascriptwindow-closeイベントを聞くことができ、sessionテーブルの更新をリクエストできます。これは問題になるかもしれませんが、ブラウザウィンドウを閉じるとセッションが破壊されないようにすることができます。右 ?であってもよいし、ので、ここで第二のアプローチである

2 - そのlast_visisted時間最近更新(どんな時間間隔であなたが好きな)と、あなたのテーブルを更新していないセッションのためsessionsテーブルをスキャン[crone job][1]を作成します。

これが役に立ちます。

+0

しかし、ユーザーが別のページに行っても、そのウィンドウを閉じる機能は起動しますか? これを行う方法はクッキーに関連すると思っていましたが、ブラウザが閉じられてもそれは意味をなさないことに気付きました。 – AllianceHardware

+0

いいえ発射されません –

+0

説明を探しています@Downvoters –

関連する問題