Hallo,
ich habe folgendes Problem: ich habe ein sehr einfaches Umfragesript gefunden, das eigentlich genau meinen Vorstellungen entspricht.
Beim abgeben einer Stimme setzt das Programm ein Cooki, so dass keine erneute Stimmabgegeben möglich ist (solange man nicht die Cookis löscht). Da ich nicht nur eine einzige Umfrage durchführen will sondern jeweils eine pro Quartal, möchte ich das Programm sie modifizieren, dass durch eine einfache Änderung am Code (von mir pro Quartal) das bisherige Cooki ignoriert wird und ein neues erstellt.
Leider habe ich nicht den geringsten Dunst von Perl, wie kann ich das bewerkstelligen?
Ich danke eucht schon im Voraus recht herzlich für die Hilfe
Gruß aus München
Maui Muc
Hier der Code (stammt von http://www.perl-seite.de/):
.....
#==============================================
Cookie vom Browser abfragen
#==============================================
if ($with_cookies =~ /^on$/i)
{
# Erlaubt Browser Cookies ?
if ($cgi->param("cookietest"))
{
if ($ENV{'HTTP_COOKIE'} !~ /Cookie=Test/)
{
error("$ENV{'HTTP_COOKIE'}<br>Ihr Browser unterstützt keine Cookies. Bitte Cookies im Browser einschalten.<br><br><a href="$cgipath">Zurück zur Umfrage</a><br>");
}
}
elsif ($ENV{'HTTP_COOKIE'} !~ /Cookie=Test/ && $ENV{'HTTP_COOKIE'} !~ /umfrage=voted/)
{
my $cookiecheck = $cgi->cookie( -name => 'Cookie',
-value => 'Test');
print $cgi->redirect(-uri=>"$ENV{'SCRIPT_NAME'}?cookietest=1", -cookie=>[$cookiecheck]);
exit;
}
if ($ENV{'HTTP_COOKIE'} =~ /umfrage=voted/)
{
$already_voted = 1;
$action = "Sie haben bereits abgestimmt.";
}
}
if (!$already_voted || $with_cookies !~ /^on$/i)
{
if (! $vote)
{
print_formular();
exit(0);
}
# ist stimme gueltig ?
foreach(@valid_vote)
{
if ($_ eq $vote)
{
$ok = 1;
}
}
error ("Antwort ist nicht gültig") if (!$ok);
if ($with_cookies =~ /^on$/i)
{
#===========================================================
# Cookie an Browser senden
#===========================================================
my $c = $cgi->cookie (
-name => "$cgipath umfrage",
-value => 'voted',
-expires => '+12M',
-path => "$cgipath",
);
print "Set-Cookie: $c\n";
}
# stimme zaehlen
count($vote);
$action = "Vielen Dank. Ihre Stimme wurde gezählt.";
show_result();
}
else
{
show_result();
}
sub count
{
....