Formular auswerten
Stephan
- cgi
0 Stefan Muenz0 Stephan0 Peter Squentz0 Cheatah
0 Cheatah
Hallo,
ich habe ein Formular mit sehr vielen Feldern drin, nun möchte ich diese am liebsten nicht alle einzeln auslesen lassen sondern im script über $FORMULAR{'wertX'} darauf zugreifen können ...
(wie) ist das möglich?
Danke für jede Hilfe
Stephan
Hallo Stephan
ich habe ein Formular mit sehr vielen Feldern drin, nun möchte ich diese am liebsten nicht alle einzeln auslesen lassen sondern im script über $FORMULAR{'wertX'} darauf zugreifen können ...
Du kannst den typischen Standard-Code fuer Formularverarbeitung nach der post-Methode verwenden:
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.\n)*-->//g;
$FORM{$name} = $value;
}
Anschliessend kannst du mit Konstrukten wie:
$FORM{'Feldname'} auf den Wert von 'Feldname' zugreifen.
viele Gruesse
Stefan Muenz
Hallo,
ich danke Dir und auch Cheatah ...
Stephan
Du kannst den typischen Standard-Code fuer Formularverarbeitung nach der post-Methode verwenden:
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.\n)*-->//g;
$FORM{$name} = $value;
}
Wobei natürlich die von Cheatah vorgeschlagene Methode vorzuziehen ist.
Peter
Hi,
Du kannst den typischen Standard-Code fuer Formularverarbeitung nach der post-Methode verwenden:
Wobei natürlich die von Cheatah vorgeschlagene Methode vorzuziehen ist.
danke. Wie lautete noch mal Deine Kontonummer...?
SCNR :-)
Cheatah
Hi,
ich habe ein Formular mit sehr vielen Feldern drin, nun möchte ich diese am liebsten nicht alle einzeln auslesen lassen sondern im script über $FORMULAR{'wertX'} darauf zugreifen können ...
(wie) ist das möglich?
die einfachste und zugleich trotzdem sicherste und alles in allem empfehlenswerteste, weil auch sauberste Methode ist:
use CGI;
my $cgi = new CGI;
print $cgi->param('wertX');
Nach den ersten beiden Zeilen kannst Du analog zur dritten Zeile auf beliebige Formularfeldinhalte zugreifen. Multiple-select-Felder (<select multiple>) werden als Array zurückgegeben, also @felder = $cgi->param('selectfeld');
Cheatah