• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Besucherzähler

ranvier

Neues Mitglied
Ich habe eine besuchszähler geschrieben. Ich will das dieser auf der seite zu sehen ist wenn man die seite öffnet(also ohne einen button oder ähliches zu drücken).
Nur weiß ich nicht wie ixh das anstellen könnte.
Danke im Vorraus!
Php
<?php
$counter_name = "counter.txt";

if (!file_exists($counter_name)) {
$f = fopen($counter_name, "w");
fwrite($f,"0");
fclose($f);
}

$f = fopen($counter_name,"r");
$counterVal = fread($f, filesize($counter_name));
fclose($f);

$counterVal++;
$f = fopen($counter_name, "w");
fwrite($f, $counterVal);
fclose($f);
echo $counterval;
?>
 
Werbung:
Werbung:
Hier einmal ein Beispiel dafür:


//Lesen der Datei

$name = "besucherzaehler.txt";
$handle = fopen($name, "r");
$inhalt = fread($handle, filesize($name));
fclose($handle);

$inhalt = $inhalt + 1;

echo "<p>bisher <b>$inhalt</b> Besucher hier</p>";

//Schreiben des Neuen Werts

$handle = fopen($name, "w");
fwrite($handle, $inhalt);
fclose($handle);

Wobei dein Programm soweit ganz richtig scheint...

Edit: Fehler gefunden, bitte beachten das die PHP-Variablen case-sensitiv sind.

$countX != $countx


mfg Nita
 
Zuletzt bearbeitet:
Ich kriege jetzt mit diesem code:
<?php
$name = "counter.txt";
$handle = fopen($name, "r");
$visits = fread($handle, filesize($name));
fclose($handle);

$visits = $visits + 1;

echo "<p>bisher <b>$visits</b> Besucher hier</p>";

$handle = fopen($dateinamen, "w");
fwrite($handle, $visits);
fclose($handle);
?>
Folgende Ausgabe:
Bisher $visits Besucher hier

"; $handle = fopen($dateinamen, "w"); fwrite($handle, $visits); fclose($handle); ?>
Wieso?
 
Werbung:
Ich habe eine besuchszähler geschrieben. Ich will das dieser auf der seite zu sehen ist wenn man die seite öffnet(also ohne einen button oder ähliches zu drücken).
Nur weiß ich nicht wie ixh das anstellen könnte.
Danke im Vorraus!
Php
<?php
$counter_name = "counter.txt";

if (!file_exists($counter_name)) {
$f = fopen($counter_name, "w");
fwrite($f,"0");
fclose($f);
}

$f = fopen($counter_name,"r");
$counterVal = fread($f, filesize($counter_name));
fclose($f);

$counterVal++;
$f = fopen($counter_name, "w");
fwrite($f, $counterVal);
fclose($f);
echo $counterval;
?>
Ich kriege jetzt mit diesem code:
<?php
$name = "counter.txt";
$handle = fopen($name, "r");
$visits = fread($handle, filesize($name));
fclose($handle);

$visits = $visits + 1;

echo "<p>bisher <b>$visits</b> Besucher hier</p>";

$handle = fopen($dateinamen, "w");
fwrite($handle, $visits);
fclose($handle);
?>
Folgende Ausgabe:
Bisher $visits Besucher hier

"; $handle = fopen($dateinamen, "w"); fwrite($handle, $visits); fclose($handle); ?>
Wieso?


Einfach mal die Fehlernotizen beachten:

Warning: fopen(counter.txt): failed to open stream: No such file or directory in C:\xampp\htdocs\test.php on line 19

Bei dir existiert keine solche Datei, daher kann sie nicht geöffnet werden...

Warning: filesize(): stat failed for counter.txt in C:\xampp\htdocs\test.php on line 20

Warning: fread() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test.php on line 20

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test.php on line 21

Notice: Undefined variable: dateinamen in C:\xampp\htdocs\test.php on line 27

Du nutzt hier eine Variable, die nicht existiert...

Warning: fopen(): Filename cannot be empty in C:\xampp\htdocs\001Lernen\test.php on line 27

Warning: fwrite() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\001Lernen\test.php on line 28

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\001Lernen\test.php on line 29

Hier der ausgebesserte Code:

Da bei dir die Datei counter.txt nicht existierst musst du diese erst im selben Ordner erstelln und mit dem Ausgangswert(0) füllen ...

<?php
$name = "counter.txt";
$handle = fopen($name, "r");
$visits = fread($handle, filesize($name));
fclose($handle);

$visits = $visits + 1;

echo "<p>bisher <b>$visits</b> Besucher hier</p>";

$handle = fopen($name, "w");
fwrite($handle, $visits);
fclose($handle);
?>



mfg Nita
 
Zuletzt bearbeitet:
<?php
$name = "counter.txt";
$handle = fopen($name, "r");
$visits = fread($handle, filesize($name));
fclose($handle);

$visits = $visits + 1;

echo "<p>bisher <b>$visits</b> Besucher hier</p>";

$handle = fopen($name, "w");
fwrite($handle, $visits);
fclose($handle);
?>
Selbe ausgabe
 
Werbung:
Es liegt an dem Echo, denn der Wert in der counter.txt erhöht sich

SO, noch ein letztes Mal, ich habe deinen Code kopiert , es funktioniert alles wunderbar und der Wert erhöht sich...

Der Fehler entsteht also entweder in der counter.txt-Datei oder es scheitert an einer falschen Angabe.
Heißt die Datei wirklich counter?, hat sie das Format .txt? liegt sie im richtigen Ordner?
ist der Pfad richtig angegeben?

Ohne Einblick in deinen Projektordner und deine counter Datei kann ich dir leider nicht mehr
weiterhelfen, da die php-Datei richtig arbeitet :/

mfg Nita
 
SO, noch ein letztes Mal, ich habe deinen Code kopiert , es funktioniert alles wunderbar und der Wert erhöht sich...

Der Fehler entsteht also entweder in der counter.txt-Datei oder es scheitert an einer falschen Angabe.
Heißt die Datei wirklich counter?, hat sie das Format .txt? liegt sie im richtigen Ordner?
ist der Pfad richtig angegeben?

Ohne Einblick in deinen Projektordner und deine counter Datei kann ich dir leider nicht mehr
weiterhelfen, da die php-Datei richtig arbeitet :/

mfg Nita
Ich denke es scheitert an den Basics - die Datei läuft nicht durch einen PHP Interpreter...
 
Werbung:
Zurück
Oben