Ich habe von dem Funpic-Benutzer Chrizhome einen Code für einen Counter heruntergeladen und ein bisschen verändert, sodass man Besucheranzahl und Seitenanzahl für jeden einzelnen Tag sieht. Doch leider habe ich ein Problem (siehe unterhalb des Codes).
Diese Zeile funktioniert nicht richtig:
Beim aktuellen Tag werden die Besucher bzw. die Seitenaufrufe um 2 erhöht, sollen aber nur um 1, darum ja auch:
Ich weiß wirklich nicht weiter, woran das liegen könnte. Es wäre nett, wenn einer von euch mir bei meinem Problem helfen könnte.
EDIT: Wenn ich allein die counter.php Datei aufrufe, dann geht alles, aber wenn ich sie include, dann entsteht der Fehler.
PHP-Code:
<?
/*
+---------------------------------------------+
| |
| Name : Counta x1.1.0 |
| Copyright : (c) 2007 |
| Publisher : chriZ |
| Webseite : [url]http://chrizhome.ch.funpic.de[/url] |
| Editor : Mra |
| Webseite : [url]http://americandad-world.de[/url] |
| |
+---------------------------------------------+
*/
/* E I N S T E L L U N G E N */
# Aktuelles Datum
$cur_date = date("Y-m-d", time());
# Pfad des Besuchercounters
$file_counter = "counter.txt";
# Pfad für die IP-Sperre
$file_ip = "ip.txt";
# IP-Zeitsperre, Standart 21600 sec = 6h
$ipsperre = 21600;
# IP-Adresse des Besuchers ermitteln (nicht aendern!)
$userip = $_SERVER['REMOTE_ADDR'];
# IP-Adressen von Bots und Spider,
# Nur hinzufuegen wenn dieser durch das
# Suchmuster nicht erfasst werden kan
$serveradressen = array(
"72.232.63.242",
"83.135.230.55",
"85.25.148.183",
"85.124.129.156",
"87.5.5.221",
"89.204.159.46",
"127.0.0.1",
"195.93.60.3",
"195.225.198.130",
"209.160.65.31",
"212.162.14.235",
"212.227.83.149",
"222.46.18.34",
);
# Suchmuster, nachdem die Bots und Spider ausgemustert werden
$pattern = array(
'bot',
'sp[iy]der',
'crawler',
'lib(?:cur|www)',
'search',
'archive',
'Francis',
'Snappy',
'W3C',
'Win',
'mail',
'Java',
'Yahoo',
'URL',
'http'
);
/* C O U N T E R */
if (!preg_match('/' . implode('|', $pattern) . '/i', $_SERVER['HTTP_USER_AGENT']) || !in_array($_SERVER['REMOTE_ADDR'], $serveradressen)) {
$gefunden = FALSE;
$ip_liste = file($file_ip);
if (count($ip_liste) > 0) {
foreach($ip_liste as $zeile) {
$splitten = explode("|", $zeile);
if (($splitten[0] + $ipsperre) > time()) {
$neue_ip_liste[] = trim($zeile). "\n";
}
}
if (count($neue_ip_liste) > 0) {
foreach ($neue_ip_liste as $zeile) {
$splitten = explode("|", $zeile);
if (trim($splitten[1]) == $userip) {
$gefunden = TRUE;
}
}
}
}
$handle_ip = fopen($file_ip, "w");
if (count($ip_liste) > 0 && count($neue_ip_liste) > 0) {
foreach ($neue_ip_liste as $zeile) {
fwrite($handle_ip, trim($zeile). "\n");
}
}
if (!$gefunden) {
fwrite($handle_ip, time(). "|" .$userip. "\n");
}
fclose($handle_ip);
//EDIT by MRA Start
$counter_liste = file($file_counter);
$splitten = explode("|", trim($counter_liste[0]));
if ($splitten[0] == $cur_date) {
if (!$gefunden) {
$visitors = $splitten[1]+1;
} else {
$visitors = $splitten[1];
}
$hits = $splitten[2]+1;
$neue_counter_liste[] = $cur_date."|".$visitors."|".$hits. "\n";
} else {
$neue_counter_liste[] = $cur_date."|1|1\n";
}
if (count($counter_liste) > 0) {
foreach($counter_liste as $zeile) {
$splitten = explode("|", trim($zeile));
if($splitten[0] != $cur_date) {
$neue_counter_liste[] = trim($zeile)."\n";
}
}
foreach($neue_counter_liste as $val) {
echo "<p>".$val."</p>";
}
}
$handle_count = fopen($file_counter, "w");
rewind($handle_count);
$write = trim(implode("", $neue_counter_liste))."\n";
fwrite($handle_count, $write);
fclose($handle_count);
//EDIT by MRA Ende
}
?>
PHP-Code:
fwrite($handle_count, $write);
PHP-Code:
$hits = $splitten[2]+1;
EDIT: Wenn ich allein die counter.php Datei aufrufe, dann geht alles, aber wenn ich sie include, dann entsteht der Fehler.
Kommentar