Maui Muc: Cooki

Beitrag lesen

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
{

....