Besucherzähler problem

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Besucherzähler problem

Beitrag von Werbung »

Hi,...

ich hab auf meiner Page ein besucherzähler, der 1 mal die user am tag zählt und 1 mal die Gesamtuser die meine seite besucht haben.
nur irgendwie zählt der komisch?
Und deswegen brauch ich eure hilfe....
weil hab grad mal 20 registrierte leute und hab schon 1000 besuche gehabt. Ich bin mir aber nicht sicher, ob er nicht die user nochmal zählt, die schon mal online waren. oder wie zählen die besucherzähler die besucher?
Hier ist mal der Code, vielleicht kann mir ja jemand weiter helfen. thx

der zählt die user am tag:

Code: Alles auswählen

                          <?
$datei=fopen("counter/heute.txt","r");
$counter=fgets($datei);
fclose($datei);

echo("$counter");
?>
und der alle user die meine seite besucht haben:

Code: Alles auswählen

<?

$ip = getenv("REMOTE_ADDR");

$datei=fopen("counter/ipadresse.txt","r-");
$ipb=fgets($datei);
fclose($datei);

if(($ipb!=$ip)) {

$datei=fopen("counter/gesamt.txt","r");
$counter=fgets($datei);
fclose($datei);

$counter++;

$datei=fopen("counter/gesamt.txt","w-");
fwrite($datei,"$counter");
fclose($datei);

echo("$counter");

$datei=fopen("counter/datum.txt","r");
$datum=fgets($datei);
fclose($datei);

$datei=fopen("counter/ipadresse.txt","w-");
fwrite($datei,"$ip");
fclose($datei);

if (($datum==date("Y m d"))) {
$datei=fopen("counter/heute.txt","r");
$counterh=fgets($datei);
fclose($datei);
$counterh++;
$datei=fopen("counter/heute.txt","w-");
fwrite($datei,"$counterh");
fclose($datei);

} else {

$datei=fopen("counter/datum.txt","w-");
fwrite($datei,date("Y m d"));
fclose($datei);
$datei=fopen("counter/heute.txt","w-");
fwrite($datei,"1");
fclose($datei);
}
} else {
$datei=fopen("counter/gesamt.txt","r");
$counter=fgets($datei);
fclose($datei);
echo("$counter");
}


?>
er speichert die daten in den jeweiligen .txt datei ab.

Mein Anliegen ist, dass ich glaube, dass der zähler doppelt zählt oder wie bekomm ich so viele leute zusammen? soviele gäste??? ist das Möglich? Funktioniert mein zähler 100%tig?

wär super wenn mir jemand sagen könnte ob das so ok ist. bzw. reparieren könnte. danke schon mal!
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
AmShaegar
Mitglied
Beiträge: 408
Registriert: 09.07.2004 17:33

Beitrag von AmShaegar »

mal ohne auf den script zu schauen... wo hast du die eigebunden, also in welcher datei??? mir scheint als wird der zähler jedes mal erhöht, enn jemand auf eine andere seite geht, sprich wenn er einen beitrag schreiben will wird er einmal gezählt und wenn er einen anderen ließt wird er wieder gezählt, zumindes beim ersten teil... verstehst? ist aber nur nen vermutung..
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

Hi...

der zähler ist auf index.php eingebaut und das forum läuft über forum/index.php also, das dürfte nicht sein. oder?

MfG Werbung
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
AmShaegar
Mitglied
Beiträge: 408
Registriert: 09.07.2004 17:33

Beitrag von AmShaegar »

wie siehts mit dem ip abgleiczh aus? ist da alles korrekt?
Benutzeravatar
Zyancali
Mitglied
Beiträge: 209
Registriert: 09.01.2005 18:55
Wohnort: Österreich/Stmk
Kontaktdaten:

Beitrag von Zyancali »

lol, dein code liest nur die erste ip aus aber keine weitere.
dazu musst du file() benutzen, nicht fread() .
Windows Vista Ultimate User
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

aja...

kannst du mir dann mal die verbesserung coden? bzw. mir den counter verbessern? dass er nicht nur die erste ip liest?
wär super...
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

so ?

Code: Alles auswählen

$file='irgendwas.txt';
$error_markup='<font color="red">%s</font>';
$error=array(1 => sprintf('Die Datei %s konnte nicht geöffnet werden, Pfad prüfen',$error_markup),
5 => sprintf('Der Errorcode %s gibt es nicht',$error_markup)
 );

function $error_msg(&$error,$errornr,&$val)
  {
    If ( !isset($error[$errornr]) )
      printf($error[5],$errornr);
    else
      printf($error[$errornr],$val);
  }

If ( !$handle=fopen($file) )
  $error_msg($error,1,$file);
else
  while ( ( $row=fgetc($handle) ) !== FALSE)
    echo $row."<br/>";
  fclose($handle);
Zuletzt geändert von Blutgerinsel am 26.01.2005 14:14, insgesamt 1-mal geändert.
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

aja...

nun übervorderst du mich....

Wo füg ich das ein? funktioniert das? könntest du mir bitte, die komplete code posten? so, dass ich das einfügen kann und das richtig funktioniert? wär super....
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Werbung hat geschrieben:aja...

nun übervorderst du mich....

Wo füg ich das ein? funktioniert das? könntest du mir bitte, die komplete code posten? so, dass ich das einfügen kann und das richtig funktioniert? wär super....
Wenn es nicht funktioniert gibts Flüchtigkeitsfehler......

Teste es einfach mal und leite davon alles weitere ab.....
Werbung
Mitglied
Beiträge: 712
Registriert: 11.06.2004 12:38
Wohnort: Ausland

Beitrag von Werbung »

oki...

ich habs jetzt mal versucht... aber wie schon gesagt... das war und ist mir noch eine nummer zu hoch... hab keine erfolg erziehlen können. :o(

was mach ich falsch? wie soll das ausschauen?
Der Meister sprach: "Lernen ist eine Tätigkeit, bei der man das Ziel nie erreicht und zugleich immer fürchten muss, das schon Erreichte wieder zu verlieren."
Antworten

Zurück zu „Coding & Technik“