Seite 1 von 1

Einfacher Text-Counter

Verfasst: Mi 21. Mär 2007, 17:01
von wosch
Nein, eigentlich kein Modul, sondern eher ein Mini-Modulchen.

Auf der Suche nach einem primitiven Counter,
(hier im Forum habe ich nichts gefunden)
den ein Freund unbedingt auf seiner Seite haben wollte, 8)
habe ich auf dieses php-Script gefunden.

Nach minimalen Anpassungen läuft es schön als Modul, getestet unter 4.6.15

Es eignet sich auf Eingangseiten die in der Regel nur beim Einstieg aufgerufen werden.
Reload-Sperre, IP-Sprerre - nothing at all, jeder Seitenaufruf wird gezählt.

Beschreibung php-Script:

Code: Alles auswählen

/********************************************************** 
* This is a very simple counter I have written using PHP.
* This counter can give you the count of visitors to your site.
* As databases are not used, it is very simple to configure 
* and use. You can feel free to copy and distribute. 
*
*********************************************************/
Input:

Code: Alles auswählen

keiner, leer
Output:
<?php

//open the file handler
// direkt im Verzeichnis CMS -> $fp=fopen("counter.txt","r");
// im Verzeichnis cms/counter
$fp=fopen("counter/counter.txt","r");

//Read the previous count
$count=fgets($fp,1024);

//close the file.
fclose($fp);

$fw=fopen("counter/counter.txt","w");

//Increment the counter
$cnew=$count+1;

//write the counter back to the log file ie., counter.txt
$countnew=fputs($fw,$count+1);

//Display VISITOR NUMBER
echo "<p class=\"bottomnavi\">Bisher haben <b> $cnew </b> Besucher diese Seite aufgerufen</p>";

fclose($fw);

?>
Konfiguration:

Code: Alles auswählen

Im Modul die Counter-Datei und den Speicherort bestimmen.

Die Datei (leer) auf dem Server erstellen und mit Schreibrechten ausstatten - 777

Über die Klasse bottonnavi kann die Formatierung der Ausgabe im CSS erfolgen.
Wer es gebrauchen kann.

Verfasst: Sa 14. Apr 2007, 13:15
von emergence
ne extra counter.txt am server ist doch zuviel aufwand...

Code: Alles auswählen

<?php

// init
$oPropertyCollection = new PropertyCollection();

// get
$counter = $oPropertyCollection->getValue("idclient", $client, "counter", "whatever", 0); // get value from database

// increment
$counter++;

// store
$oPropertyCollection->setValue("idclient", $client, "counter", "whatever", $counter); // store value to database

// display number 
echo "<p>Bisher haben <b> $counter </b> Besucher diese Seite aufgerufen</p>"; 

?>
wenn man möchte kann man das auch noch von der $idart abhängig machen

ersetzen (2x)
"whatever"
durch
"idart-$idart"

wer will kann dann noch in den mandanteneinstellungen den counter eintrag manipulieren... (den gibts aber erst nach dem erstmaligen aufruf des moduls)

Verfasst: Sa 14. Apr 2007, 13:45
von Freddy

Code: Alles auswählen

// init
$oPropertyCollection new PropertyCollection();
Irgendwie schein da was nicht zu stimmen. Es leuchtet die rote Lampe. Bin leider kein Coder so das ich den Fehler sehen könnte.

Verfasst: Sa 14. Apr 2007, 14:14
von emergence
da ist das = entschwunden...
ist oben korrigiert...