Stefan Muenz: CGI Problem

Beitrag lesen

Hallo Cosmo,

Versuche ich aber wie gewünscht über das Formular zu arbeiten schreibt mir
Netscape immer 'Formular enthält keine Daten'.
Wo ?????  verdammt noch mal ist der Fehler ?

Das kann z.B. daran liegen, dass das CGI-Script das Formular nach der GET-Methode zu lesen versucht, waehrend in HTML <form ... method=post> steht. Oder umgekehrt. Welche Routine benutzt Du denn, um die Formularinhalte zu lesen?

Hier als Orientierung eine Perl-Funktion, die mit method=post zusammenarbeitet:

sub Formulardaten_einlesen {
   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;
   }
}

Mit einem Ausdruck wie $FORM{'Suche'} hast Du nach Aufruf dieser Routine Zugriff auf Daten, die in einem Feld <input type=text name="Suche"> eingegeben wurden.

Viele Gruesse
  Stefan Muenz