jonasge
23-03-2003, 16:07
Hi,
habe heute die ersten Perl erfahrungen gemacht:
#!/usr/bin/perl
print 'Content-type: text/html\n\n';
print "<HTML><HEAD><TITLE>Kapacity Download</TITLE></HEAD><BODY>";
print "Download wird gleich gestartet.";
use CGI;
use DBI;
my $cgi = new CGI;
my $filename = $cgi->param('filename');
#### EDIT
$hostname="localhost";
$datenbank="efsfd_db";
$username="efsfd";
$passwd="ufb";
#### EDIT
my $OK=0;
my $filefromdb;
my $idfromdb;
my $anzahlfromdb;
####Mysql Anbindung:
my $dbh = DBI->connect("DBI:mysql:$datenbank:$hostname", $username, $passwd) || die "Keine Verbindung zu Server $DBI::errstr\n";
my $sth = $dbh->prepare( 'SELECT * FROM kapacity') || die "Kann nicht Select: Mysql-DBI Sys: $DBI::errstr\n";
$sth->execute || die "Kann nicht ausführen: Mysql-DBI says: $DBI::errstr\n";
while (my @ergebnis = $sth->fetchrow_array ) {
# print ': ' . $ergebnis[0] . ' : ' . $ergebnis[1] . ' : ' . $ergebnis[2] ;
# print "<br>";
if ($ergebnis[1] eq $filename)
{
# print "<br>GLEICH<br>";
$idfromdb = $ergebnis[0];
$filefromdb = $ergebnis[1];
$anzahlfromdb = $ergebnis[2];
$OK = 1;
}
# if ($OK == 1)
# exit;
}
$sth->finish;
$dbh->disconnect();
#### ENDE Mysql:
#print "<br>Filename: $filename<br>";
#print "<br>ID: $idfromdb<br>FILE: $filefromdb<br>Anzahl: $anzahlfromdb<br>";
#print "<br>Rechne anzhal +1:<br>";
$anzahlfromdb += 1;
#print "Neue Anzahl: $anzahlfromdb";
###schreibe Wert neu:
my $dbha = DBI->connect("DBI:mysql:$datenbank:$hostname", $username, $passwd) || die "Keine Verbindung zu Server $DBI::errstr\n";
my $stha = $dbha->prepare( "UPDATE kapacity SET anzahl=$anzahlfromdb WHERE id=$idfromdb") || die "Kann nicht Select: Mysql-DBI Sys: $DBI::errstr\n";
$stha->execute || die "Kann nicht ausführen: Mysql-DBI says: $DBI::errstr\n";
$stha->finish;
$dbha->disconnect();
print "<br><br><b>FILENAME: $filename<br></b>";
print "<meta http-equiv=\"refresh\" content=\"0; URL=./download/$filename\">";
print "</BODY></HTML>";
Irgendwie habe ich den verdacht, das durch dieses Script meine mysql-DB belastet wird, stimmt das ?
Bzw. das soll ein Downloadzähler sein, ganz einfach.
gruss
Jonas
habe heute die ersten Perl erfahrungen gemacht:
#!/usr/bin/perl
print 'Content-type: text/html\n\n';
print "<HTML><HEAD><TITLE>Kapacity Download</TITLE></HEAD><BODY>";
print "Download wird gleich gestartet.";
use CGI;
use DBI;
my $cgi = new CGI;
my $filename = $cgi->param('filename');
#### EDIT
$hostname="localhost";
$datenbank="efsfd_db";
$username="efsfd";
$passwd="ufb";
#### EDIT
my $OK=0;
my $filefromdb;
my $idfromdb;
my $anzahlfromdb;
####Mysql Anbindung:
my $dbh = DBI->connect("DBI:mysql:$datenbank:$hostname", $username, $passwd) || die "Keine Verbindung zu Server $DBI::errstr\n";
my $sth = $dbh->prepare( 'SELECT * FROM kapacity') || die "Kann nicht Select: Mysql-DBI Sys: $DBI::errstr\n";
$sth->execute || die "Kann nicht ausführen: Mysql-DBI says: $DBI::errstr\n";
while (my @ergebnis = $sth->fetchrow_array ) {
# print ': ' . $ergebnis[0] . ' : ' . $ergebnis[1] . ' : ' . $ergebnis[2] ;
# print "<br>";
if ($ergebnis[1] eq $filename)
{
# print "<br>GLEICH<br>";
$idfromdb = $ergebnis[0];
$filefromdb = $ergebnis[1];
$anzahlfromdb = $ergebnis[2];
$OK = 1;
}
# if ($OK == 1)
# exit;
}
$sth->finish;
$dbh->disconnect();
#### ENDE Mysql:
#print "<br>Filename: $filename<br>";
#print "<br>ID: $idfromdb<br>FILE: $filefromdb<br>Anzahl: $anzahlfromdb<br>";
#print "<br>Rechne anzhal +1:<br>";
$anzahlfromdb += 1;
#print "Neue Anzahl: $anzahlfromdb";
###schreibe Wert neu:
my $dbha = DBI->connect("DBI:mysql:$datenbank:$hostname", $username, $passwd) || die "Keine Verbindung zu Server $DBI::errstr\n";
my $stha = $dbha->prepare( "UPDATE kapacity SET anzahl=$anzahlfromdb WHERE id=$idfromdb") || die "Kann nicht Select: Mysql-DBI Sys: $DBI::errstr\n";
$stha->execute || die "Kann nicht ausführen: Mysql-DBI says: $DBI::errstr\n";
$stha->finish;
$dbha->disconnect();
print "<br><br><b>FILENAME: $filename<br></b>";
print "<meta http-equiv=\"refresh\" content=\"0; URL=./download/$filename\">";
print "</BODY></HTML>";
Irgendwie habe ich den verdacht, das durch dieses Script meine mysql-DB belastet wird, stimmt das ?
Bzw. das soll ein Downloadzähler sein, ganz einfach.
gruss
Jonas