Moin, moin,
ein Möglichkeit zur Lösung des Problems:
ein primitiver Text-Counter ohne SSI
drei Zeilen für's HTML-Dokument:
<body ....>
<script language="JavaScript" src="counter.js" type="text/javascript">
</script>
Die externe JavaScript-Datei wird vom Perl-Script erzeugt und blendet den Counterwert ein.
...
<img src="http://www.server.com/cgi-bin/counter.cgi" border="0" heiht="1" width="1">
ruft das Perl-Script auf, dies erzeugt die externe JS-Datei und gibt als Rückgabewert eine 1x1 Pixel Gif-Datei zurück
#####################################################
#!/usr/bin/perl
$LOCK_EX = 2;
$LOCK_UN = 8;
$counter_js = "/home/www/index/counter.js";
open(COUNT,"$counter_js");
$counter = <COUNT>;
close (COUNT);
open(COUNT_JS,">$counter_js");
flock (COUNT_JS, $LOCK_EX) or die ("$!: can‚t get lock\n");
$counter =~ s/[^0-9]//g;
$counter++;
print COUNT_JS "document.write("$counter");";
flock (COUNT_JS, $LOCK_UN);
close (COUNT_JS);
print "<img src="../icons/null.gif" border=0>";
den Wert der Variablen $counter_neu könnte man auch splitten und die einzelnen Ziffern durch IMG-Tags ersetzen, so würde aus dem primitiven Textcounter ein primitiver Grafikcounter
mögliche Irritationen bei hohen Trefferraten auf der Seite sind nur optischer Natur, im Hintergund wird dank "flock" trotzdem zuverlässig weitergezählt :-))
Grüße
Steffen D.