#!/usr/bin/perl -wT use strict; use DBI; use CGI; my $q= new CGI; my $dbh; #Database Connect $dbh = DBI->connect( "dbi:mysql:dansite","dan","vindaloo") or dienice("Can't connect: ", $dbh->errstr); if (!$q->param("action")){ linklist(); }elsif($q->param("action") eq "loadpage"){ loadpage(); }elsif($q->param("action") eq "savepage"){ savepage(); }else{ linklist(); } $dbh->disconnect(); sub loadpage{ my $ath; my $linktoprint= substr($ENV{'QUERY_STRING'},24,100); $ath=$dbh->do("update links set visits=visits+1 where urllink=\"$linktoprint\"") or dienice($dbh->errstr); print"Location:$linktoprint\n\n"; } sub savepage{ my $category= $q->param("category"); $category=~s/\+/ /g; my $description=$q->param("description"); $description=~s/\+/ /g; my $sth = $dbh->prepare("insert into links values(?,?,?,?)"); $sth->execute($q->param("urllink"),$category,$description,$q->param("visits")) or dienice($dbh->errstr); $sth->finish(); print"Location:/addlink.html\n\n"; } sub linklist{ my ($urllink,$urlcategory,$description,$visits,$catttest,$tbkgrnd); print "Content-type:text/html\n\n"; my $sth=$dbh->prepare("select urllink,urlcategory,description,visits ". "from links order by urlcategory,description") or dienice("can't execute query ",$dbh->errmsg); $sth->execute; my $cattest = "bb"; print"\n"; while(($urllink,$urlcategory,$description,$visits)= $sth->fetchrow_array){ if ($urlcategory ne "Our Site"){$tbkgrnd = "#993300"} else {$tbkgrnd = "#660000"} if ($urlcategory ne $cattest){ if ($cattest ne "bb"){ print"\n"; } print"\n\n"; } print"\n\n", "\n\n\n"; $cattest = $urlcategory; } print"\n\n\n", "

", "
", "$urlcategory
" "  ", "$description", "", "  $visits", "
", "
Total
", "Visits From
This Page
\n"; $sth->finish(); }