Das Script zum rausfiltern:
read(STDIN, $input, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $input);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
@vars = split(/&/, $ENV{QUERY_STRING});
foreach $var (@vars) {
($v,$i) = split(/=/, $var);
$v =~ tr/+/ /;
$v =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$i =~ tr/+/ /;
$i =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$i =~ s/<!--(.|\n)*-->//g;
$INFO{$v} = $i;
}
if($INFO{'action'} ne "") {
$action = $INFO{'action'};
}
else {
$action = $FORM{'action'};
}
Und die Funktion zum Vergleichen:
sub edit_inhalt {
if($FORM{'inhalt'} eq "") { print "Fehler!"; }
}
HTML Code:
<form name="hpinhalt" action="index.pl?action=edit_inhalt" method="post" onReset="return confirm('Inhalt wirklich löschen?')">
<center>
<textarea name="inhalt" rows="15" cols="50">
<_HPINHALT>
</textarea>
<br><br>
<input type="submit" value=" Senden "> <input type="reset" value=" Löschen "></font>
</center>
</form>
Index.pl ist die Datei, wo die Eingaben verarbeitet werden.
Und???