#!/usr/bin/perl -wT # track.cgi use strict; use DBI; use CGI qw(:standard); use POSIX; my $dbname = 'book'; my $dbhost = 'localhost'; my $dsn = "DBI:mysql:database=$dbname;host=$dbhost"; my $dbh=DBI->connect($dsn,"user","password"); if (!defined($dbh)) { print header; print "\nerror: There is a problem connecting to the MySQL database:\n"; print DBI->errmsg; print "-" x 25; exit; } my $url = param('url'); my $time = strftime("%Y-%m/-%d %I:%M:%S", localtime); my $query = qq(update click_tracker set COUNT=COUNT+1, LAST_ACCESS='$time' where PAGE='$url'); my $sth = $dbh->prepare($query); if ($sth->execute < 1) { $query = qq(insert into click_tracker (PAGE, COUNT, LAST_ACCESS) Values ('$url', 1, '$time')); $sth = $dbh->prepare($query); $sth->execute; } $dbh->disconnect; print redirect($url);