my code index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="Bluefish 1.0.7">
<meta name="author" content="root">
<meta name="date" content="2007-01-23T14:39:41+0100">
<meta name="copyright" content="">
<meta name="keywords" content="">
<meta name="description" content="">
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="application/xhtml+xml;
charset=UTF-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="expires" content="0">
<meta http-equiv="refresh" content="5; URL=http://">
<title>jeanluc</title>
</head>
<body>
<table style="width: 100%; text-align: center;" border="1"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"<img
src="http://localhost/cgi-bin/random_image.cgi" align="middle"
border="0"><br>
</td>
</tr>
</tbody>
</table>
<br>
<hr style="width: 100%; height: 2px;">
<table style="width: 100%; text-align: center;" border="1"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><br>
</td>
</tr>
</tbody>
</table>
<a href="http://localhost/jeanluc/blog.html">blog</a>
<a
href="http://localhost/jeanluc/gallerie">gallerie</a>
<a
href="http://localhost/jeanluc/vente.html">vente</a>
<a
href="http://localhost/jeanluc/contact.html">contact</a><br>
<table style="width: 100%; text-align: left;" border="1" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><br>vous etes le visiteur <img
src="http://localhost/cgi-bin/counter.cgi" align="middle">
</br>
<script type="application/x-javascript">
if (document.cookie == "") {
document.cookie = "numBer=1" + ";expires=" + "Tue, 12 Dec 3000 19:38:17 UTC"
+ ";"
document.write("<br>" + "Vous etes venus ici 1 fois" + "</br>")
}
else {
var val = document.cookie
num = val.split("=")
Fnum = num[1]
Fnum++;
document.cookie = "numBer=" + Fnum + ";expires=" + "Tue, 12 Dec 3000
19:38:17 UTC" + ";"
document.write("<br>" + "Vous etes venus ici " + Fnum + " fois" + "</br>")
}
</script>
</td>
</tr>
</tbody>
</table>
<br>
<br>
</body>
</html>
my code counter.cgi
#!/usr/bin/perl -w
use CGI qw/:standard escapeHTML/;
use strict;
use Fcntl qw( :DEFAULT :flock );
use DB_File;
use CGI;
use CGI::Carp;
use GD;
use GD::Text::Wrap;
my $query = new CGI;
use constant COUNT_FILE ="/tmp/apache/data/counter/count.dbm";
my %count;
my $url = $ENV{DOCUMENT_URI};
local *DBM;
if (my $db = tie %count, "DB_File", COUNT_FILE, O_RDWR | O_CREAT) {
my $fd = $db->fd;
open DBM, "+<&=$fd" or die "Could not dup DBM for lock: $!";
flock DBM, LOCK_EX;
undef $db;
$count{$url} = 0 unless exists $count{$url};
my $num_hits = ++$count{$url};
untie %count;
close DBM;
my $gd = GD::Image->new(800,600);
my $white = $gd->colorAllocate(255,255,255);
my $black = $gd->colorAllocate( 0, 0, 0);
my $blue = $gd->colorAllocate(127,127,255);
my $red = $gd->colorAllocate(127, 0, 0);
my $text = $num_hits;
my $wrapbox = GD::Text::Wrap->new( $gd,
line_space =4,
color =$black,
text =$text,
);
$wrapbox->set_font(gdMediumBoldFont);
$wrapbox->set_font('arial',12);
$wrapbox->set(align ='center', width =120);
$wrapbox->draw(10,140);
$gd->rectangle($wrapbox->get_bounds(10,140),$red);
print $query->header( -type ="image/png", -expires ="-1d");
binmode STDOUT ;
print $gd->png();
## print p("visiteurs",tt(escapeHTML($num_hits)));
} else {
print p("[Error processing counter data]",tt(escapeHTML($!)));
}
perl counter.cgi product png
compil nice
ok
that tad img doesnt work