Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Besuchercounter funktioniert nicht.





Frage

Hallo, ich habe mir einen kleinen Besuchercounter selber gebastelt. Aber leider funktioniert er nicht. Der Zähler bleibt immer bei der selben Besucherzahl. Normalerweise sollte der Zähler nach jeder Session weiterzählen, aber er bleibt immer bei "1". Den chmod (Unix-Code) habe ich sogar auf 777 gestellt, aber es tut sich trotzdem nix. Hier der Code: counter.php <?php // Cookie wird gesetzt setcookie("count", "yes"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Ein Cookie-Textcounter</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="phpkid.css"> </head> <body> <h2>Ein Textcounter</h2> <p>Die Seite wurde <b><?php $fp = fopen("count.txt", "r+"); $counter = fgets($fp,10); echo $counter; if (isset($_COOKIE["count"]) && $_COOKIE["count"] != "yes") { $counter++; } rewind($fp); fputs($fp, $counter); fclose($fp); ?></b>-mal aufgerufen.</p> </body> </html> Hier die Cookie-Datei: count.txt: 1 Selbst nach 24 Stunden tut sich nix. Wenn ich bei <?php // Cookie wird gesetzt setcookie("count", "yes"); ?> noch [i]time() + 86400 [/i]hizufüge, also: <?php // Cookie wird gesetzt setcookie("count", "yes", time() + 86400 ); ?> tut sich nach 24 Stunden ebenfals nichts. Ist ein fehler im Code? Danke Struggle

Antwort 1 von Goofyhorn

bin mir nicht sicher ... aber

Zitat:
$fp = fopen("count.txt", "r+");


öffnet die datei doch nur, oder?
also das r steht für read ... denke, du musst es anders öffnen.

Antwort 2 von Risatara2

´r+´: Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei
Quelle: PHP.net

Antwort 3 von Struggle

Hm, und wieso funktioniert das dann nicht, dass der Zähler weiterzählt?

Irgendwas ist doch falsch, oder?

Gruß

Struggle

Antwort 4 von LittleT

//Counter einfuegen
function session_counter()
{
session_start();
$dateiname="counter.txt";
if(!session_is_registered(´counter´))
{
if(file_exists($dateiname))
{
$datei = fopen($dateiname, "r");
$akt_zaehler = fgets($datei, 1024);
fclose($datei);
}
$akt_zaehler++;
$datei = fopen($dateiname,"w");
$put = fputs($datei,$akt_zaehler);
fclose($datei);
session_register(´counter´);
}

$datei = fopen($dateiname,"r");
$akt_zaehler = fgets($datei,1024);
return $akt_zaehler;
}



//Der Aufruf dann wie folgt:
echo "<font face=´Arial´>Counter: <b>" . session_counter() . "</b></font>";

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: