Thank you for your quick response.
Being a novice, I am not sure how to implement your responses.
Where in the code should I insert this? Here is the code (required fields are normally populated):
# This is the multicounter stats file
$cntfile = "";
# To turn on logging $log = 1 else $log = 0
$log = 1;
# If you want the counter output printed on your page $scrprint = 1 el
+se 0
$scrprint = 1;
# Location of your log file
$logfile = "";
# Your own ip-address
$own = "";
# -------------- Start program -----------------------------------
print "Content-type: text/html\n\n";
$date = localtime(time);
open(INF,"$cntfile") || die "Can't open $cntfile to read: $! \n";
seek(INF,0,0);
@data = <INF>;
foreach $i (@data) {
($sitename,$counter,$ip_address) = split(/=/,$i);
chop $ip_address;
$sitename =~ s/ //g;
$counter =~ s/ //g;
$ip_address =~ s/ //g;
$visitor = $ip_address;
if ($sitename eq $ENV{'id'} && ($visitor eq $ENV{'REMOTE_ADDR'}) || ($
+own eq $ENV{'REMOTE_ADDR'})) {
print $counter if ($scrprint eq "1");
exit;
} else {
if ($sitename eq $ENV{'id'}) {
$counter++;<br>
print $counter if ($scrprint eq "1");
open(ART,"$cntfile") || die "Can't open $cntfile to read: $! \n";
@data = <ART>;
close(ART);
open(ART,">$cntfile") || die "Can't open $cntfile to write: $! \n";
foreach $line (@data) {
flock(ART,2);
$line =~ s/$ENV{'id'} = [0-9]+ = [0-9]+.[0-9]+.[0-9]+.[0-9]+/$ENV{'id'
+} = $counter = $ENV{'REMOTE_ADDR'}/g;
print ART $line;
}
close(ART);
if ($log eq "1") {
open(OUTF,">>$logfile") || die "Can't open $logfile to write: $! \n";
print OUTF "$date | $ENV{'id'} | $counter | $ENV{'REMOTE_ADDR'} | $ENV
+{'HTTP_REFERER'}\n";
close(OUTF);
}
}
}
}
|