Hallo zusammen,
folgendes Frage: Ich möchte in einem Perl-Skript den Wert eines Radiobuttons auslesen, das per Formular zum Server gescickt wurde. Der Radiobutton heißt "newsletter" und seine möglichen Werte sind "ja" oder "nein".
In dem Formmailer-Skript, daß verwende, wird folgende Prozedur aufgerufen, um die Formularfelder zu trennen und ihnen die entsprechenden Werte zuzuweisen:
sub ParseForm
{
my ($key, $prefs, $buffer);
if ($ENV{'REQUEST_METHOD'} eq 'GET')
{ @pairs = split(/&/, $ENV{'QUERY_STRING'}) }
elsif ($ENV{'REQUEST_METHOD'} eq 'POST')
{
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer)
}
else {Error('Bad or Unbekannte Request-Methode',
"Das Formular muß mit REQUEST=POST oder REQUEST=GET übertragen werden, Fehler in HTML-Datei prüfen!.")}
foreach $pair (@pairs)
{
local($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.)*?-->//mg;
$FORM{$name} = $value;
if ($name =~ /_/ and $name !~ /^_/)
{
($prefs, $key) = split /_/, $name, 2;
if ($prefs =~ /r/i and not $value) { push @missing_values, $key }
if ($prefs =~ /e/i and $value and
(($value =~ /(@.*@)|(..)|(@.)|(.@)|(^.)/) or
($value !~ /^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$/)))
{ push @bad_emails, $key }
if ($prefs =~ /d/i and $value and $value =~ /\D/) { push @only_digits, $key }
if ($prefs =~ /w/i and $value and $value =~ /\W/) { push @only_words, $key }
if ($prefs =~ /s/i and $value) { $value =~ s/^(\s)*//;
$value =~ s/(\s)*$//;
$FORM{$name} = $value; }
}
}
}
Meine Frage: Wie heißt die Variable, in der Wert meines Newsletter-Radiobuttons gespeichert ist, so daß ich eine if-Abfrage der Art
if (newsletter == ja) machen kann.
Vielen Dank für Eure Hilfe...
Karlchen