Alain: formular - value und name modern parsen

Beitrag lesen

hi,

Ich benutze gern eine der beiden folgen Varianten. Mein 1. parse_form erzeugt für jeden übergebenen Parameter eine Variable mit dem entsprechenden Namen und dem Wert. Das funktioniert für Skalare ebenso wie für Arrays, allerdings nicht mit "use strict", da Du im Script Variablen benutzt, die nicht mit 'my' erzeugt wurden.

Hast Du im Formular folgende Zeile
<input type="text" name="einBeispiel" value="blabla">,
dann steht nach Aufruf von parse_form in der Variablen $einBeispiel der String "blabla" und Du kannst ihn "einfach benutzen":

use CGI;
&parse_form();
print $einBeispiel;

für was brauch ich print...?
In meinem fall handelt es sich um ein login user/password formular.
Die daten im formular sind folgend:
<input type="username" name="username" size="15" maxlength="40">
<input type="password" name="password" size="15" maxlength="14">
<input type="hidden" name="function" value="post">
<input type="hidden" name="text" value="vonhierkommich">
Also ich habs versucht mit beiden beispielen ,aber apache
sendet mir nur error 500.
ich habs so
sub parse_form {
   use CGI;
   my %input;
   my $query;
   my @names = $query->param;
   foreach (@names){
      $input{$_} = $query->param($_);
   }
   return %input;
}

versucht.
da fehlt noch was (vielleicht ein value?) vermute ich mal.
Mein error log meint dies:
Can't call method "param" on an undefined value at logintest.cgi line 133.

was soll query bedeuten? ohne "my $query;" gehts auch ned.

use CGI;
my %input = parse_form();
print $input{'einBeispiel'};

sub parse_form {
   my %input;
   my @names = $query->param;
   foreach (@names){
      $input{$_} = $query->param($_);
   }
   return %input;
}

Gruss vom
Alain