上の私のコメントでお願いした「滞在中」の定義が出てこないようですので、自分が現実的と思う案を書いておきます。
多分、ユーザー情報を DB に保持して、ログインの際はユーザーが入力する情報と DB の情報に基づいてユーザー認証を行い、認証チケットを発行し、ログイン後のアクセスは認証チケットをやり取りすることにより再ログイン操作が不要というような一般的な認証システムを実装するのだろうと想像してます。
認証システムが独自実装でなく、何かのフレームワークを利用するのなら、そのフレームワークに質問者さんがやりたいことが、100% ではなくてもある程度可能な機能が実装されてないかを調べてみましょう。
例えば ASP.NET の Forms 認証システムの場合、ユーザー情報のストアとなる DB のテーブルには、ID, Password 以外に LastActivityDate というフィールドがあり、ログインしたとかその後要求を出したなど何らかのアクティビティがあれば、その日時を更新する仕組みになっています。
現時点でユーザーがオンラインか否かは、その「現時点」から UserIsOnlineTimeWindow の分数(デフォルトで 15 分。構成ファイルで設定変更可)値を引いた値と LastActivityDate の値を比較して、そのユーザーがオンラインか否かを判定するということになっています。
PHP は自分は全く知りませんが、既存のフレームワークにそのようなユーザー認証システムがあるかを調べてみてはいかがですか。
ユーザー認証システムを質問者さんが独自実装するなら、上に述べた ASP.NET の Forms 認証と同様な実装をしてはいかがですか。
ブラウザから一定時間間隔で滞在証明をサーバーに送るような仕組みを実装するというのは、質問者さんの力量やサーバーの負荷を考えた場合、果たして現実的なのかどうか考えてみてください。
それを実装しても、ユーザーがブラウザを閉じないまま席を外してどこかに行ってしまったことは分かりません。労力の割にはあまり意味がなさそうな気がします。