<?php
ob_start();
session_start();
$counter_name = "index.txt";
// Check if a text file exists. If not create one and initialize it to zero.
if (!file_exists($counter_name)) {
$f = fopen($counter_name, "w");
fwrite($f,"0");
fclose($f);
}
// Read the current value of our counter file
$f = fopen($counter_name,"r");
$counterVal = fread($f, filesize($counter_name));
fclose($f);
// Has visitor been counted in this session?
// If not, increase counter value by one
if(!isset($_SESSION['hasVisited'])){
$_SESSION['hasVisited']="yes";
$counterVal++`enter code here`;
$f = fopen($counter_name, "w");
fwrite($f, $counterVal);
fclose($f);
}
?>
このコードを使用して、セッションを使用して1ページの訪問者数をカウントしています。 しかし、他のすべてのページにもページカウンタを保持したいと考えています。そのため、コードをコピーして他のページに貼り付けると、値が増えません。最初のページではインクリメントされますが、他のページではインクリメントされません。可能な解決策は何ですか?ページカウンターの別のページにある
ここにはいくつかの問題がありますが、そのロジックがサイトの他のページでも機能しない理由はありません。ただし、絶対パスを使用して、すべてのスクリプトがサーバー側のファイルシステム内の同じファイルの場所を指定するようにする必要があります。他のページの – arkascha
には、カウンタ値を格納する別のテキストファイルがあります。問題は、セッションが1つのWebページで開始されたときに、他のページに切り替えると残りのページカウンタの値が増えないようになってしまうことです。 –
申し訳ありませんが、私はあなたの最後のコメントを感知しません。このすべてが訪問者と番号を追跡することであれば、 'piwik'やApacheログファイルアナライザのような既存の実績のあるソリューションを使うのはなぜですか?より簡単でより多くの正確な情報を得ることができます。 – arkascha