Philipp Hasenfratz: Informationen via Link an ein Perlscript übergeben

Beitrag lesen

Halihallo

Ich habe einen supernormalen Link auf ein Perlscript und übergebe dem Script irgendeine ID.

<a href="../cgi-bin/Formular.pl?Key=Webdesign">Neues Thema</a>

Achtung: Das ist ein GET-Request und kein POST! - Details follow

Nun soll mein Script das ganze auslesen, was es bis jetzt auch immer fein gemacht hat (zumindest wenn ich was über Formulare übergeben hab). Sagen wir Mal im einfachsten Fall, würde es das Übergebene einfach wieder ausgeben. In diesem Fall, gibt mein Script jedoch nichts aus.

sub InputEinlesen {
  read(STDIN, my $strData, $ENV{'CONTENT_LENGTH'});
  print "Content-type:text/html\n\n";
  print $strData;
  ### ... aufsplitten wie sonst immer (&=+...)
}

Hier liest du ein POST-Request aus! - STDIN gibt's nur bei POST, $ENV{QUERY_STRING} ist das Äquivalent für GET...
Also müsstest du hier einfach STDIN durch $ENV{QUERY_STRING} ersetzen, oder einfach beide concaten:

my $params = $ENV{QUERY_STRING}.'&'.join('', <STDIN>);

Aber ich würde dir zu keinem Raten:

benutze CGI.pm!

use CGI;

my $cgi = new CGI;
print 'Key ist : ' . $cgi->param('Key');

ist tausendmal sicherer

Viele Grüsse

Philipp