• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Counter nicht weiterzählen bei Klick auf "Home"-Button

Metallica

Lounge-Member
Tach hier!

Meine Homepage besteht aus insgesamt 6 html-documenten und ist gänzlich auf Tabellen aufgebaut. In der IndexStart.htm habe ich einen Counter eingebaut der wunderbar funtzt. Das Problem ist nur, dass der Counter auch weiterzählt wenn man von irgendeiner Seite wieder auf die Startseite zurück-klickt weil sich ja bei Tables das komplette htm-docu wieder neu reinlädt.
Kann mir jemand Abhilfe verschaffen wie sich das verhindern läßt????

hier der php-counter-code:
<?php
$file = "counter/counter.txt"; // Dateizuweisung
$ftp = @fopen($file,"r+"); // oeffnet die Datei
$count = (int)fgets($ftp,50); // Holt die ersten 50 Zeichen
$count++; // Addiert eine 1
rewind($ftp); // Setzt Zeige auf 0. Position
fwrite($ftp,$count); // Schreibt
fclose($ftp); // Schliesst die Datei

for ($i = 1; $i <= strlen($count); $i++) //zaehlt die Anzahl der Zeichen
{
$zahl = substr($count, $i - 1, 1); //1.-n Zeichen werden einzeln gelesen
for ($z = 0; $z < 10; $z++)
{
if ($zahl == $z) //das Zeichen wird eine Grafik eingesetzt
{
echo "<IMG SRC=counter/$z.gif WIDTH=15 HEIGHT=20 BORDER=0 ALT=$z>";
}
else{echo "";}
}
}
?>
 
Falls du Datenbankunterstützung auf deinem Server hast empfehle ich dir alle IPs der Besucher in einer DB zu speichern und die Besucher die in der DB sind nicht mehr zu zählen
 
ähh, sorry, weiß überhaupt nicht was du meinst. gibt es wirklich keine einfachere Lösung??Vielleicht kann man die Tabellen irgendwie intern verlinken, oder so???
 
"intern verlinken" ???

Naja, ich meinte halt nur das du die IPs der Benutzer speicherst und wenn der Benutzer mit der IP xxx.xxx.xx.xx nicht mehr gezählt wird weil seine IP schon gespeichert ist

Das ganze könnte man auch mit Cookies machen
 
@Crying Man:
Das wäre natürlich der Überhammer wenn man die IPs der Benutzer speichern könnte und wenn die IP gleich ist, dann zählt der Counter nicht mehr mit. Blöd ist es halt nur wenn der User zB die Seite nach ein paar Tagen wieder aufruft. Da sollte der Counter schon weiterzählen. Geht dann aber nicht, wenn seine IP schon drinnen ist.

Ich wäre alle Sorgen los wenn der IP-Check nur dann stattfindet, wenn sich der User auf der Seite bewegt. In dem Moment wo er die Site verläßt bräuchte ich mir auch die IP nicht mehr merken. Ich glaube aber, dass das bei Tables ein Problem wird weil sich ja immer die Seite neu reinlädt.

Ürbigens habe ich keine Ahnung wie ich das mit den Cookies oder Datenbank anstellen soll. Reicht es nicht, wenn ich die IPs via php in einer TXT am Server speichere??
 
Das mit der TXT-Datei geht natürlich auch, aber daran habe ich nicht gedacht, weil ich es nicht kann :)

Am besten setzt du einen Timestamp der die Zeit des Besuches fest hält und wenn dieser kleiner ist als die aktuelle Zeit - 24h schaltest du den Benutzer wieder frei zum counten :)
 
@Crying Man:
Hab's mit HTTP Referer gelöst. Is so 'ne Funktion in PHP.
Trotzdem vielen Dank für Deine Mühe.

Bye
 
Wenn ich mich nicht irre sendet nicht jeder browser bzw proxy den HTTP Referer! das is also ne ziemlich unsichere methode!
 
Zurück
Oben