Formularauswertung
Daniel
- perl
Hallo,
folgendes Problem. Ich habe ein Formular gemacht, womit man Mails an einer beliebigen Adresse verschicken kann. Leider funktioniert es nicht. Ich habe irgendwas vergessen beim Parsen. Anstatt eine Empfängeradresse vom Typ daniel@baden-online.de zu haben, habe ich daniel%40baden-online.de
Vielen Dank für die Hilfe, hier der Code:
#!/usr/bin/perl
$MAIL_PROGRAM="/usr/sbin/sendmail -t ";
if ($ENV{'REQUEST_METHOD'} eq 'GET')
{
$Daten = $ENV{'QUERY_STRING'}
}
else
{
read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
}
@Formularfelder = split (/&/, $Daten);
foreach $Feld (@Formularfelder)
{
($name, $value) = split(/=/, $Feld);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9] [a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.\n)*-->//g;
$Formular{$name} = $value;
}
#open (MAIL, "$MAIL_PROGRAM");
#print MAIL "To: $Formular{'empfang'}\n";
#print MAIL "From: daniel@baden-online.de\n";
#print MAIL "Subject: $Formular{'betreff'}\n\n";
#print MAIL "$Formular{'message'}\n";
#close(MAIL);
print "Content-type: text/html\n\n";
print "<html>Erfolgreich verschickt</html>";
Hallo Daniel,
»» $value =~ s/%([a-fA-F0-9] [a-fA-F0-9])/pack("C", hex($1))/eg;
Probiers mal so:
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/ge;
Gruß
Christian Schnagl
Hi,
folgendes Problem. Ich habe ein Formular gemacht, womit man Mails an einer beliebigen Adresse verschicken kann. Leider funktioniert es nicht. Ich habe irgendwas vergessen beim Parsen. Anstatt eine Empfängeradresse vom Typ daniel@baden-online.de zu haben, habe ich daniel%40baden-online.de
ich code mal um:
#!/usr/bin/perl
$MAIL_PROGRAM="/usr/sbin/sendmail -t ";
use CGI;
$query = new CGI;
$Formular{'empfang'} = $query->param("empfang");
$Formular{'betreff'} = $query->param("betreff");
$Formular{'message'} = $query->param("message");
#open (MAIL, "$MAIL_PROGRAM");
#print MAIL "To: $Formular{'empfang'}\n";
#print MAIL "From: daniel@baden-online.de\n";
#print MAIL "Subject: $Formular{'betreff'}\n\n";
#print MAIL "$Formular{'message'}\n";
#close(MAIL);print "Content-type: text/html\n\n";
print "<html>Erfolgreich verschickt</html>";
Genau :-)
Cheatah