Chrisman: GET und POST.... POST da klappt was nicht!

Beitrag lesen

Hallo,

habe ein sehr schwerwiegendes Problem bei meinen Scripten! Bis vor kurzem hat alles noch super funktioniert, da liefen die Scripte noch auf einem Linux SuSe 6.1 Server. Mittlerweile hat mein Provider den Server gewechselt, es handelt sich jetzt um SuSe 7.1! Hier das komplette Test-Script:

#!/usr/bin/perl -w

print "content-type: text/html\n\n";

print "REQUEST_METHOD: $ENV{'REQUEST_METHOD'}<p>\n";

print "GET: $ENV{'QUERY_STRING'}<p>\n";

read STDIN, $query_inhalt, $ENV{'CONTENT_LENGTH'};
print "POST: $query_inhalt<p>\n";

Test ob if/else geht...

if ($ENV{'REQUEST_METHOD'} eq "GET")
{
print "<p>Es wird die GET-Methode genutzt!";
}
else
{
print "<p>Es wird die Post-Methode genutzt! (else)";
}

print <<HTML;

<p><B>GET:</b>
<p>
<form action="http://www.dvdbombastic.de/cgi-bin/test.pl" method="GET">
<input type="text" name="user">
<input type="submit">
</form>

<p><B>POST:</b>
<p>
<form action="http://www.dvdbombastic.de/cgi-bin/test.pl" method="post">
<input type="text" name="user">
<input type="submit">
</form>

<hr>

HTML

if ($ENV{'REQUEST_METHOD'} eq "GET")
{
$query_inhalt = $ENV{'QUERY_STRING'};
}
else
{
read STDIN, $query_inhalt, $ENV{'CONTENT_LENGTH'};
}

@query = split(/&/, $query_inhalt);
for (@query)
{
($key,$value) = split /=/;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9]{2})/pack("C", hex($1))/eg;
$value =~ s/\n/<br>/g;
$value =~ s/ä/&auml;/g;
$value =~ s/ö/&ouml;/g;
$value =~ s/ü/&uuml;/g;
$value =~ s/Ä/&Auml;/g;
$value =~ s/Ö/&Ouml;/g;
$value =~ s/Ü/&Uuml;/g;
$value =~ s/ß/&szlig;/g;
$param{$key} = $value;
}

print "HIER MUSS NUN IMMER WAS AUSGEGEBEN WERDEN UND ZWAR, WAS HINTER user= STEHT:<br>";
print "$param{'user'}";

Ich habe es alle durchgetest und es klappt alles wunderbar! Nur leider ganz am Ende, gibt er, wenn man die Post-Methode benutzt nicht den Inhalt von $param{'user'} aus!!!!???? Woran liegt das???? Auf dem alten Server hat er das gemacht!! :((((((
Ich bin verzweifelt und weiß nicht mehr weiter!!! Wer kann mir helfen??