hallo zusammen,
kurze frage...ich nutze folgendes skript um mir die daten aus einem vordruck per email zusenden zu lassen. läuft auch alles einwandfrei...
[code}
#!/usr/bin/perl
my $from = "Absender";
my $email = "meine@domain.de";
my $subject = "Restaurant-Bericht";
my $key = '';
my $val = '';
my %in = ();
my $in = '';
if ( $ENV{REQUEST_METHOD} eq 'POST'){
read(STDIN, $in, $ENV{CONTENT_LENGTH});
}else{
$in = $ENV{QUERY_STRING};#GET lesen
}
for(split/&/,$in){##Input nach Paaren splitten key=val
($key , $val) = split/=/;#splitten nach key=val
$key =~ y/+/ /;# + durch Space ersetzen
$key =~ s/%(..)/pack("c",hex($1))/ge;#Sonderzeichen decodieren
$val =~ y/+/ /;# + durch Space ersetzen
$val =~ s/%(..)/pack("c",hex($1))/ge;
$in{$key} .= $val;
}
print "Location: ../modules.php?name=Danke\n\n";
print "Content-type: text/html\n\n";
open (MAIL,"|/usr/sbin/sendmail -t");
print MAIL "From:$from\n";
print MAIL "To:$email\n";
print MAIL "Subject:$subject\n\n";
print MAIL"Anschrift => $in{'anschrift'}\n";
print MAIL"Art => $in{'art'}\n";
print MAIL"Raum => $in{'raum'}\n";
print MAIL"Telefon => $in{'telefon'}\n";
print MAIL"Telefax => $in{'telefax'}\n";
print MAIL"Öffnungszeiten => $in{'zeiten'}\n";
print MAIL"Essen => $in{'essen'}\n";
print MAIL"Flair => $in{'flair'}\n";
print MAIL"Personal => $in{'personal'}\n";
print MAIL"Preise => $in{'preise'}\n";
print MAIL"Homepage => $in{'homepage'}\n";
print MAIL"eMail => $in{'email'}\n";
print MAIL"Tester => $in{'ihrname'}\n";
print MAIL"Testermail => $in{'ihreemail'}\n";
close (MAIL);
[/code}
nun hätte ich gerne, dass überprüft wird, ob wenigstens ein name des senders (tester) und seine email (testeremail) angegeben worden ist; quasi als kleiner schutz, damit nicht als einer doof auf senden drückt, obwohl gar keine angaben getätigt worden sind...
bitte um hilfe wie dies zu bewerkstelligen ist.
vielen dank...chris