Formulardaten entgegennehmen
Dienstag, 10. September 2002 17:22
Die folgenden Perl-Fragmente lesen Formulardaten, die entweder per POST oder per GET übermittelt wurden, ein und bereiten diese auf. Da Leerzeichen und Sonderzeichen (inkl. Umlaute) beim Absenden codiert werden, müssen diese entsprechend decodiert werden.
$PAR=();
# POST-Eingaben lesen
read(STDIN, $Parameter, $ENV{'CONTENT_LENGTH'});
# GET-Eingaben lesen
# $Parameter = $ENV{'QUERY_STRING'};
# einzelne Parameter im Array speichern
@PARAMETER = split(/\&/,$Parameter);
foreach $param (@PARAMETER) # für alle Array-Einträge
{ ($key, $data) = split(/\=/,$param); # Variable und Inhalt trennen
$data =~ s/\+/ /go; # Leerzeichen decodieren
$data =~ s/\%(..)/pack("c",hex($1))/ge; # hexcodierte Sonderzeichen decodieren
$PAR{$key}=$data; # Inhalt in Hash speichern
}
$PAR=();
# POST-Eingaben lesen
read(STDIN, $Parameter, $ENV{'CONTENT_LENGTH'});
# GET-Eingaben lesen
# $Parameter = $ENV{'QUERY_STRING'};
# einzelne Parameter im Array speichern
@PARAMETER = split(/\&/,$Parameter);
foreach $param (@PARAMETER) # für alle Array-Einträge
{ ($key, $data) = split(/\=/,$param); # Variable und Inhalt trennen
$data =~ s/\+/ /go; # Leerzeichen decodieren
$data =~ s/\%(..)/pack("c",hex($1))/ge; # hexcodierte Sonderzeichen decodieren
$PAR{$key}=$data; # Inhalt in Hash speichern
}