ユーザーがログインしてオンラインステータスを1に設定し、ログアウトして0に戻すと、サイトで一定時間非アクティブになった後、logout.phpに送信されるようにしようとしているので、フィールドを設定しますユーザーテーブルで、タイムスタンプとしてlast_activityとして。このコードを各ページに含めるようにします。
<?php
if (!isset($_SESSION['last_activity'])) {
// initiate value
$_SESSION['last_activity'] = time();
}
if (time() - $_SESSION['last_activity'] > 500) {
// last activity is longer then certain amount of time
header('Location: logout.php');
} else {
// update last activity timestamp
$_SESSION['last_activity'] = time();
}
?>
しかし、今のところ、last_activityフィールドは、ユーザーアカウントの何かが更新されたとき、およびユーザーがログアウトされていない一定の時間が経過した後、理由がわからない場合にのみ更新されます。