2011-12-14 6 views
1

これは本当に簡単なことですが、私はかなり混乱しています。現在、PHPのオンライン訪問者ロジック

基本的に、現在自分のウェブサイトを閲覧している人の数を取得したいと考えています。問題は、私はセッションを数えることができないということです。それらの多くは異なる目的のために作成されています。 (ログインしたユーザーの$ _SESSION ['age'])

また、 "logged_in"と "not_logged_in"という人がいます。

つまり、どのように私のウェブサイトのユーザーを最もプロフェッショナルな方法で数えることができますか?

ps。 1〜5分ごとに機能を実行し、量を取得し、キャッシュとして使用するために保存します。 5分後、キャッシュが再び交換されます。したがって、db接続は、それが最もプロフェッショナルな方法と思われる場合は可能性があります。

+0

http://phpeasystep.com/phptu/9.htmlたとえば、 – Narek

答えて

2

PHPはユーザがいつブラウザを閉じるのかわかりません。

私は、ユーザーデータベース(タイムスタンプ/日時)と "ハートビート"関数(jscript)の "last_used" -fieldの組み合わせで同様のことを行っています。定期的に "I'm still alive " - コマンドをサーバーに送信し(x秒ごと)、このlast_used-fieldが更新されます。交通量の多いサイトではありませんが、非常に信頼できる仕事です。

それからちょうどデータベースでは非常に現在の心拍ユーザーの量をカウント:

SELECT COUNT(*) 
FROM your_user_table 
WHERE last_used > TIMESTAMPADD(NOW(), INTERVAL -30 SECOND) 

あなたはこのために、ユーザ・テーブルを必要としない、あなたも、セッションテーブルを使用することができます。このようなメカニズムは、ユーザーに新しいメッセージを即座に与えるなど、他の機能にも使用できます。

+0

私はPHPページに接続し、結果を取得し、現在のDIVを消去し、PHPページによって与えられた情報でDIVを置き換えると信じています。このJSのようなハートビート機能をどうやって作れますか? – Aristona

+0

これは、どのテクニックを使用するかによって異なります。これは、よく使用されている質問に対処する1つの方法です。あなたのアプリがJScriptフリーであれば、最終的に私が説明した問題にぶつかるでしょう。広範囲のJScriptライブラリ(JQuery、Mootoolsなど)を使用している場合は、そこに多くの例があります。 – Bjoern

関連する問題