Das Script
blauer Text ist nur im Abstimm-Script enthalten.
#!/usr/bin/perl
if($ENV{'REQUEST_METHOD'} eq 'GET')
{
$Daten = $ENV{'QUERY_STRING'}
}
else
{
read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
}
@Formularfelder = split(/&/, $Daten);
foreach $Feld (@Formularfelder)
{
($name, $value) = split(/=/, $Feld);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$Formular[$i] = $name;
$i = $i + 1;
$Formular[$i] = $value;
$i = $i + 1;
}
open(NAMEN, ")
{
push(@names,$_);
}
close(NAMEN);
open(NAMENVOLL, ")
{
push(@voll,$_);
}
close(NAMENVOLL);
open(WERTE, ")
{
push(@wert,$_);
}
close(WERTE);
$gesamt=0;
for($i=0; $i<=$#wert; $i++)
{
if($names[$i] =~ $Formular[1])
{
$wert[$i]++;
$aktuell=$i;
}
$gesamt=$gesamt+$wert[$i];
}
open(WERTS, ">anzahl.txt");
for($i=0; $i<=$#wert; $i++)
{
if($i==$aktuell)
{
print WERTS "$wert[$i]\n";
}
else
{
print WERTS "$wert[$i]";
}
}
close(WERTS);
$rund=0;
$top=0;
for($i=0;$i<=$#wert;$i++)
{
if($gesamt!=0)
{
$pro[$i]=int(($wert[$i]/$gesamt)*100);
}
else
{
$pro[$i]=0;
}
if($pro[$i]>$pro[$top])
{
$top=$i;
}
$rund=$rund+$pro[$i];
}
if(($rund!=100)&&($rund!=0))
{
$pro[$top]=$pro[$top]+(100-$rund);
}
$Mailprogramm = "/usr/sbin/sendmail";
$MailSubject = "Abstimmung: Wer wird deutscher Fußballmeister?";
$Empfaenger = "umfrage\@nils-heuermann.de";
$SenderName = $Formular[3];
$SenderMail = $Formular[5];
open(MAIL,"|$Mailprogramm -t") || die;
print MAIL "To: $Empfaenger\n";
print MAIL "From: $SenderMail($SenderName)\n";
print MAIL "Subject: $MailSubject\n";
$i = 0;
$max = $#Formular;
for($i=0;$i<=$max;$i=$i+2)
{
print MAIL "\n$Formular[$i]: $Formular[$i+1]";
}
print MAIL "\n\nErgebnisse:";
for($i=0;$i<=$#pro;$i++)
{
print MAIL "\n$names[$i] $pro[$i]%";
}
close(MAIL);
#Ausgabe an Browser
print "Content-type: text/html\n\n";
print <
Umfrage: Wer wird deutscher Fußballmeister
Umfrage: Wer wird deutscher Fußballmeister
Team |
Stimmen in Prozent |
Stimm-Anzahl |
html_ende
for($i=0; $i<=$#wert; $i++)
{
if($i==$top)
{
print "\n\n";
print " ",$voll[$i]," | \n";
print " ",$pro[$i]," % | \n";
print " ",$wert[$i]," | \n
\n";
}
else
{
print "\n\n";
print " ",$voll[$i]," | \n";
print " ",$pro[$i]," % | \n";
print " ",$wert[$i]," | \n
\n";
}
}
print " |
\n";
print "\n";
print " | \n";
print " 100% | \n";
print " ",$gesamt," | \n
\n";
print <
<< Zurück
©opyrights: Nils
Heuermann & Stefan Dyck 2000
Umfrage gestartet am: 26.11.2000