Eigener Besucherzähler

Hallo.
Ich will ja nicht sagen das der Code blöd ist, aber es wird immer wenn man drauf geht um eins erhöht!!!
es soll mit cookies gemacht sein.
Danke
MFG Ploddi
 
Hallo.
Ich habe es jetzt hoch geladen und es steht immer unter dem Counter:

Warning: Cannot add header information - headers already sent by (output started at /home/www/web21/html/verweise1.php:10) in /home/www/web21/html/verweise1.php on line 49

, habe allerdings bereits CHMOD 777 vergeben.
Weiss jemand wodran es liegen kann?
Danke
MFG Ploddi
 
Bin ich im falschen Film? Das Ding arbeitet mit Cookies. Und funktioniert hervorragend. Prüf mal deine Cookie-Einstellungen im Browser. Und arbeite erstmal ein wenig an deinen PHP-Grundkenntnissen, bevor du so eine Sache angehst! :rolleyes:

//Edit: Okay, mein Fehler. Die Ausgabe findet vorm Setzen des Cookies statt.
Bei mir funzt es zwar trotzdem. Aber machs einfach so, dann gehts auf jeden Fall bei allen Hostern:

PHP:
<?
if(!file_exists("besucher.txt"))
    {
      $datei = fopen("besucher.txt","a");
      fputs($datei,"0");
      fclose($datei);
    }
else
    {
      if(!isset($_COOKIE['besucher'])) 
          { 
            $datei = fopen("besucher.txt","r+");
            $counterstand = fgets($datei,1000);
            $counterstand++;
            rewind($datei);
            fputs($datei,$counterstand);
            fclose($datei);
            //echo "Counterstand: " . $counterstand;
          }
      else
          {
            $datei = fopen("besucher.txt","r+");
            $counterstand = fgets($datei,1000);    
            fclose($datei);   
            //echo "Counterstand: " . $counterstand;
          }
    }
if(!isset($_COOKIE['besucher']))
    { 
      setcookie ("besucher", "cookie", time()+3600);
    }
echo "Counterstand: " . $counterstand;
?>
 
Zuletzt bearbeitet:
Hallo.
jetzt ist es aber immer noch so:

es kommt die Fehlermeldung:

Warning: Cannot add header information - headers already sent by (output started at /home/www/web21/html/verweise1.php:10) in /home/www/web21/html/verweise1.php on line 49


und der Counter steigt wenn ich auf Aktualisieren klicke.
warum?
Danke
MFG Ploddi
 
Line 49 - Du hast das also einfach irgendwo reingebügelt. :-(

Vorm Setzen eines Cookies darf keinerlei HTML-Output stattfinden. Sonst wird es eben, wie auch in deinem Fall, nicht gesetzt.. Und deswegen wird auch jeder Reload gecounted.

Aus diesem Grunde ist dieser Lösungsansatz von vorneherein auch nicht sehr sinnvoll. Auch deswegen, weil die Relaod-Sperre Client-Seitig stattfindet und somit sehr leicht umgangen werden kann. Viele User lassen ihre Browser keine Cookies akzeptieren.

Ich kann dir nur empfehlen, auf eine richtige IP-Sperre zurückzugreifen, bei der die IPs der User in eine Liste geschrieben und abgefragt werden, und dann, nach einer bestimmten Zeit wieder gelöscht werden.

Zu diesem Thema sollte es hier soweit ich weiß auch mindestens 1 Tutorial geben.

Aber vor allem solltest du dich vorher wirklich ein bisschen mehr in PHP einarbeiten, damit du wenigstens verstehst, was du da überhaupt tust. ;)

MfG
 
hey dick
Ich kann dir nur empfehlen, auf eine richtige IP-Sperre zurückzugreifen, bei der die IPs der User in eine Liste geschrieben und abgefragt werden, und dann, nach einer bestimmten Zeit wieder gelöscht werden.
hm... da hätte ich doch grad mal ein paar fragen:

1. was soll daran so schlimm sein, es mit cookies zu machen? ich meine, welcher hinter dem mond lebende surfer deaktiviert schon cookies? und ausserdem: sollte das einer machen, ist das für deine seite nur von vorteil, da sich dann der counter jedesmal erhöht.

2. ich sehe irgendwie die logik hinter der sache mit der ip nicht. angenommen, ich gehe mit einer ip x ins netz, und fünf minuten später geht mein kumpel mit der gleichen ip rein (weil der jetzt die dynamisch zugewiesen bekommen hat), dann zählt das nur als ein besuch. oder noch schöner: wenn jetzt drei leute die gleiche ip haben wegen kabel, zählen die auch nur einmal.
 
hmmm...

also deine chance das ein anderer mit der selben ip 5 minuten später auf die gleiche seite geht halte ich für ziemlich unwahrscheinlich (so 1:900000000000000)

und wieso istd as von vorteil wenn die der counter sich IMMER um einen erhöht... schließlich will er ja GENAU wissen wieviele user tatsächlich auf der seite waren und dies geht nicht wenn man bei jedem reload den counter um eins erhöht....

ach ja und nun zum thema... kann es sein, dass du den counter includest?

wenn ja musst du den cookie am anfang seten (am anfang der seite von der aus du includest (verzeiht mein deutsch : )

mfg,

alex
 
also deine chance das ein anderer mit der selben ip 5 minuten später auf die gleiche seite geht halte ich für ziemlich unwahrscheinlich (so 1:900000000000000)
ich nicht. ist mir in den vergangenen wochen auf der eigenen page mehrfach passiert.
und wieso istd as von vorteil wenn die der counter sich IMMER um einen erhöht... schließlich will er ja GENAU wissen wieviele user tatsächlich auf der seite waren
will er das? imho ist ein counter doch meist nur da, um damit anzugeben, wieviele leute schon auf der seite waren.
wenn ja musst du den cookie am anfang seten (am anfang der seite von der aus du includest (verzeiht mein deutsch : )
äh... das hat doch dick schon geschrieben (?):
Vorm Setzen eines Cookies darf keinerlei HTML-Output stattfinden.
 
ja des kann sein, AUF DEINER EIGENEN page aber meinst du das ein anderer die gleiche ip kriegt und dann auch noch auf genau DEINE SEITE geht.... naja... halt ich für sehr unwahrscheinlich!
 
Original geschrieben von alexorg

und wieso istd as von vorteil wenn die der counter sich IMMER um einen erhöht... schließlich will er ja GENAU wissen wieviele user tatsächlich auf der seite waren und dies geht nicht wenn man bei jedem reload den counter um eins erhöht....

also wenn ich GENAU wissen will, wieviele user auf meiner seite waren, dann nehm ich meine logfiles und garantiert keinen 10-zeiligen php-counter der sogar noch auf cookies basiert :-)
 
Zurück