Rolf Rost: Problem beim einlesen von Formulardaten

Beitrag lesen

moin,

nimm doch einfach das CGI Modul,
http://i-netlab.de/downloads/upload.shtml

Rolf

Hallo

Also, damit ich ein Upload Script verwenden kann, muss ich die Daten eines Formulars mit Post als Methode mit ENCTYPE="multipart/form-data" übergeben.

Leider kann ich, sobald ich das entsprechende Formular mit ENCTYPE="multipart/form-data" versende, die Formulardaten mit der folgenden subrutine auslesen:

sub readinputs {

#read GET input

$get_input = $ENV{QUERY_STRING};
@fv_pairs = split /&/ , $get_input;

foreach $pair (@fv_pairs) {
   if($pair=~m/([^=]+)=(.*)/) {
      $field = $1;
      $value = $2;
      $value =~ s/+/ /g;
      $value =~ s/%([\dA-Fa-f]{2})/pack("C", hex($1))/eg;
      $INPUT{$field}=$value;
   }
}

#read POST input
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;
  $FORM{$name} = $value;
}

}

Sobald ich aber die ENCRYPT Methode wieder wegnehme im Formular kann er alle Daten einlesen, aber dann klappt das Upload Script wieder nicht mehr :(

Wie muss ich die obere Subrutine ändern, damit sie mir auch Formulardaten die mit ENCTYPE="multipart/form-data" übergeben werden einliest???

Ich bitte um HIIILFEEE!

Gruss

Jonas