Counter


(Read 728 times - 0 Members and 1 Guest are viewing this topic.)
 Reply Send this topic Print Anmelden / Register

Webmaster-Fragen » Counter

Pages: [1]

Rudi Fränkle
Guest

Counter

« on: 17.12.03, 13:31:47 »


Es gibt viele (auch kostenlose) Counter für Internetseiten. Ich habe meine Seiten in einem INTRANET auf dem Server. Jetzt suche ich einen kostenlosen Counter, um evtl. unnötige Seiten rauszunehmen. Das Teil hat schon 100 MB und enthält einige Fachliteratur und sonstige Nachschlagewerke unserer "Firma"!
Die Seiten sind mit Frontpage erstellt, auf dem Server sind keine Servererweiterungen installiert.
Danke im Voraus Huh
Report to moderator   Logged


JoSsiF Offline JoSsiFs PC
Special-Member (8.657)
*****

Re: Counter

« Reply #1 on: 17.12.03, 14:54:31 »


Läuft auf dem Server PHP oder sowas in der Art?
Das wäre die beste Möglichkeit, um unabhängig vom Internet einen Counter zu betreiben.
Die kostenlosen Counter im Internet laufen meist über irgendeinen anderen Server, auf dem die Zählerdaten gespeichert werden. Glaube das macht sich im Intranet wohl nicht so gut.

greez Cool
JoSsiF
Report to moderator   Logged


con\con
Guest

Re: Counter

« Reply #2 on: 17.12.03, 15:23:36 »


Von selfPHP wird ein Counter als Freeware angeboten.

Ich habe ihn versteckt in der noch im lokalen Netzwerk befindlichen Seite eingebaut und er funktioniert einfach geradeaus.

Die Funktionen sind absolut ausreichend und sogar die Unterdrückung gleicher IP`s auf einen bestimmten Zeitraum hinweg wurde

unterdrückt (das bieten manche durch Werbung finanzierte Counter aus dem Netz nicht unbedingt ;-) )

Du mußt allerdings einen eigenen Webserver einrichten, um den Counter das erste mal auszuführen damit er die entsprechenden

Log-Dateien erstellt..

Den Quelltext ansich habe ich später noch in eine hübsche verschachtelte Tabelle eingebaut in der Optik der von mri

erstellten Webseite (damit der Chef was feines zu gucken hat ;-) )

so, nun der Quelltext:

<?php
 // wie lange gilt wird eine ip nicht als neuer besucher gewertet (in minuten)
 $t_counter=120;
 // wie lange gilt besucher als online (in minuten)
 $t_user_online=5;
 // pfad zum besucherzaehler
 $p_counter='counter.log';
 // pfad zur datei, die maximale zahl gleichzeitiger nutzer speichert
 $p_counter_max='counter_max.log';
 // pfad zur datei, die die ips des besucherzaehlers speichert
 $p_ips_counter='ips_counter.log';
 // pfad zur datei, die die ips der aktuell auf der seite befindlichen user speichert
 $p_ips_user_online='ips_user_online.log';

 nicht vorhandene dateien erstellen
 wenn dateien vorhanden sind und skript einwandfrei laeuft, dann diese zeilen auskommentieren (// davor)
 if (!file_exists($p_counter))
 { $fh=fopen($p_counter, 'w'); fwrite($fh, "0"); fclose($fh); }
 if (!file_exists($p_counter_max))
 { $fh=fopen($p_counter_max, 'w'); fwrite($fh, time().'#0'); fclose($fh); }
 if (!file_exists($p_ips_counter))
 { $fh=fopen($p_ips_counter, 'w'); fclose($fh); }
 if (!file_exists($p_ips_user_online))
 { $fh=fopen($p_ips_user_online, 'w'); fclose($fh); }

 // daten einlesen
 $temp=file($p_counter); $counter=$temp[0];
 $temp=file($p_counter_max); $counter_max=explode('#', $temp[0]);
 $ips_counter=file($p_ips_counter);
 $ips_user_online=file($p_ips_user_online);
 $ip=$_SERVER['REMOTE_ADDR'];

 // user online - noch gueltige ips raussuchen
 $i=0; $j=0; $ip_exists=0;
 while ($i < count($ips_user_online))
  {
   $temp=explode('#', trim($ips_user_online[$i]));
   if (time() < $temp[0]+$t_user_online*60)
    {
     $ips[$j]=$ips_user_online[$i]; $j++;
     // wenn ip des aktuellen besuchers gefunden, dann vermerken
     if ($temp[1]==$ip) { $ip_exists=1; }
    }
   $i++;
  }
 // wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen
 if (!isset($ips) && $ip_exists==1 || $ip_exists==0)
  { $ips[$i]=time().'#'.$ip; }
 // anzahl felder von $ips entspricht anzahl der user online
 $user_online=count($ips);
 // wenn aktuelle zahl besucher groesser als letztes maximum, dann ueberschreiben und neu einlesen
 if ($user_online>$counter_max[1])
  {
   $fh=fopen($p_counter_max, 'w');
    fwrite($fh, time().'#'.$user_online);
   fclose($fh);
   $temp=file($p_counter_max); $counter_max=explode('#', $temp[0]);
  }
 // die ips speichern
 $fh=fopen($p_ips_user_online, 'w');
  fwrite($fh, join("\n", $ips));
 fclose($fh);

 // besucherzaehler - noch gueltige ips raussuchen
 $i=0; $j=0; $ip_exists=0;
 while ($i < count($ips_counter))
  {
   $temp=explode('#', trim($ips_counter[$i]));
   if (time() < $temp[0]+$t_counter*60)
    {
     $ips[$j]=$ips_counter[$i]; $j++;
     // wenn ip des aktuellen besuchers gefunden, dann vermerken
     if ($temp[1]==$ip) { $ip_exists=1; }
    }
   $i++;
  }
 // wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen
 if (!isset($ips) && $ip_exists==1 || $ip_exists==0)
  {
   $ips[$i]=time().'#'.$ip;
   $counter++;
   $fh=fopen($p_counter, 'w');
    fwrite($fh, $counter);
   fclose($fh);
  }
 // die ips speichern
 $fh=fopen($p_ips_counter, 'w');
  fwrite($fh, join("\n", $ips));
 fclose($fh);

 // ausgabe der besucherdaten

echo '

Counterstatistik '
;echo ' Anzahl Besucher insgesamt seit dem 03.11.2003: '
;  echo ''.$counter.' <br>';echo ' Anzahl momentaner Besucher: ';  echo ''.$user_online.'<br>';echo ' maximale Besucheranzahl

am '.date("d.m.Y", $counter_max[0]).':'; echo ' '.$counter_max[1].' <br>';
echo '<br><p align="center">IP-Adressen aller Besucher anzeigen: <a href="ips_counter.log" ><font color="#808080">Hier

klicken</font></a> <br> IP-Adressen aller auf dieser Seite befindlichen Benutzer anzeigen: <a href="ips_user_online.log"

><font color="#808080">Hier klicken</font></a> </td>';            
echo '
';?>

Die Ausgabe mußt du dir selbst hübsch zurecht machen ;-)

Achja, nach dem ersten Druchlauf mußt du wie im Quelltext angegeben die Stellen die die LOG-Files erstellen auskommentieren!

Zu guter Letzt: der Ersteller von selfPHP stellt den Quelltext für umsonst zur Verfügung, möchte aber, dass wenn dieser weiter gegeben wird im originalzustand weitergeleitet wird. Tjoa, das ist er jetzt auch bis auf 1-2 <br>-Tags in der Ausgabe ;-)

con\con
Report to moderator   Logged


con\con
Guest

Re: Counter

« Reply #3 on: 17.12.03, 15:26:12 »


Oh, achja.. falls das script durch copy & paste beschädigt wurde und du es auf selfPHP nicht finden kannst, sag mir bescheid und ich schicke es dir als E-Mail Anhang.

Bitte als via PM bescheid [concon] ;-)

con\con
Report to moderator   Logged


Rudi Fränkle
Guest

Re: Counter

« Reply #4 on: 28.12.03, 11:58:46 »


...und wie richte ich den Server ein??

Ich glaub, ich bin zu blöd dazu!!
Report to moderator   Logged


concon Offline
Sr. Member Pro (1.319)
*****

Re: Counter

« Reply #5 on: 15.01.04, 11:20:12 »


du lädtst dir Apache aus dem Netz und folgst den Installationsanleitungen ;-]

con\con
Report to moderator   Logged

Pages: [1]  Reply Send this topic Print Anmelden / Register 



Ähnliche Themen:
Mai-Patchday: Microsoft will 4 Lücken schließen
gibs unterschiede zwischen counter strike source und dem counter s von hl 2?
Win XP: Counter
Counter
Counter
Counter

add bookmark Bookmark:
Jump to:  
Webmaster-Forum am 17.12.2003 | | Mobile Version (Handy, PDA)




Computerhilfen.com | Powered by SMF 2.5.1.
© 2001-2009, Lewis Media. All Rights Reserved.