2011-07-05 15 views
0

私はポストビューカウンタを作成しようとしていますが、それは簡単ですが、次のような問題があります。ユーザーがページを再読み込みすると、再び更新されます。リロードする。どのように私はこれを最高にすることができますか?クッキーを設定する? Page View/Post View Counter

サイト:これは動作します:)

とDBの更新についてクッキーで行われている場合、サイトは+ 10K以上のポストを持っている、イムわからない、私は更新優先度の低いリアルタイムでそれを行う必要があり、または5分ごとにデータを保存して処理しますか?

ギマ私はこれを作る方法を入力してください。ありがとう

+0

私は良い解決策が見つかりました:私は最善の解決策、私は重複を除外するDBを更新スクリプトとARRAY_UNIQUEではない呼び出すが、私のために働くべきで5分はあなたに感謝した後、私は配列でip +ポストIDをログ をあなたの入力のために:) – MasterX

+0

またsession_idを使用するか、または同じオフィスからアクセスしている場合は、1オフィスあたり1回だけアクセスします。 –

答えて

0

セッションID |ページIDが同じ値の組み合わせは、一意の値

+0

何かsmilarありがとう、私の記事に私のコメントをチェック:) – MasterX

0

ヒットが更新されていれば、クッキーをUPDATEDに1に設定するなどして、クッキーで動作させることができます。
しかし、COOKIEの問題は誰でも編集できるので、編集できないのでSESSIONでも試してみることができます。
DBは良い選択ではありません。Googleアナリティクスもお試しください。

+0

セッションはCOOKIEにリンクされています。ユーザーがCookieを消去すると、セッションも失われます。 – tucuxi

+0

私は誰もセッションを編集することができないと言った、私は '自分自身のセッションで値を変更することはできません' – Sourav

+0

編集と削除も異なる – Sourav

0

別の答えを取ることによって、後でそれを挿入したり、それを挿入しますが、プロセス `tを存在する場合、Page View Counter like on StackOverFlowから提案、

  • に「トークンリソース」を追加されますページヘッダーには、<link href="https://stackoverflow.com/questions/246919/increment-view-count" type="text/css" rel="stylesheet" />などがあります。トークンリソースは(パスのために)ページ固有のものでなければならず、現代のブラウザーはすべて、ダウンロードしたリソースファイルをキャッシュすることに注意してください。
  • トークンリソースが新たにダウンロードされたときにのみ、カウンタをインクリメントします(apacheのmod-rewriteを使用して整頓されたURLを保持し、それから増分カウンタにマップすることができます)。これは、クッキーの必要性を避けるか、[ip |セッション|ページ]ごとに、データベース要求の数を減らします。クッキーの必要性を回避します。

[ip |セッション| (どちらの場合でも、クッキーを保存せずにリソースまたはページを要求するタイトなループを書くことができます)。しかし、すべての要求を数えながら虐待を避けるための安全な方法はありません(NATのため、誰にとってもユニークなIPに頼ることはできません)。