#!/usr/bin/perl &get_form_data(); &check_required_fields; &send_email; &print_thankyou_page; sub check_required_fields { if($FORM{'name'} eq "") { $blank_name = 1; } if($FORM{'address1'} eq "") { $blank_address1 = 1; } if($FORM{'city'} eq "") { $blank_city = 1; } if($FORM{'state'} eq "") { $blank_state = 1; } if($FORM{'country'} eq "") { $blank_country = 1; } if($FORM{'telephone'} eq "") { $blank_telephone = 1; } if($FORM{'email'} eq "") { $blank_email = 1; } if($blank_name || $blank_address1 || $blank_city || $blank_state || $blank_country || $blank_telephone || $blank_email) { &print_error_page; exit; } } # end sub check_required_fields sub print_error_page { print "Content-type: text/html\n\n"; print "\n
\n\n"; print "\n"; print "Sorry, but you did not fill in all required fields. Please use your browser's back button\n"; print "to return to the form and fill in the following fields:\n\n"; print "
\n";
print "\n";
if($blank_name)
{
print "Name\n";
print "
\n";
}
if($blank_address1)
{
print "Address\n";
print "
\n";
}
if($blank_city)
{
print "City\n";
print "
\n";
}
if($blank_state)
{
print "State\n";
print "
\n";
}
if($blank_country)
{
print "Country\n";
print "
\n";
}
if($blank_telephone)
{
print "Telephone\n";
print "
\n";
}
if($blank_email)
{
print "E-mail Address\n";
print "
\n";
}
# close out the page
print "\n\n";
print "\n";
print "\n";
} # end sub print_error_page
sub get_form_data
{
# Get the input
read(STDIN, $buffer, $ENV{ 'CONTENT_LENGTH' } );
# Split the name-value pairs
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
# Un-Webify plus signs and %-encoding
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$FORM{$name} = $value;
}
}
sub send_email
{
$to = "maegan\@siena.edu";
open(MAIL, "|/usr/sbin/sendmail -t $to") || die ("can't open sendmail");
print MAIL "From: $FORM{'email'}\n";
print MAIL "To: $to\n";
print MAIL "Subject: Form submission\n\n";
# print out the form results
print MAIL "Name: $FORM{'name'}\n";
print MAIL "Company: $FORM{'company'}\n";
print MAIL "Address: $FORM{'address1'}\n";
print MAIL "City: $FORM{'city'}\n";
print MAIL "State: $FORM{'state'}\n";
print MAIL "Country: $FORM{'country'}\n";
print MAIL "Telephone: $FORM{'telephone'}\n";
print MAIL "Fax: $FORM{'fax'}\n";
print MAIL "E-mail: $FORM{'email'}\n";
print MAIL "Services interested in: $FORM{'services'}\n";
print MAIL "Notified when pages updated: $FORM{'notify'}\n";
print MAIL "Comments: $FORM{'comments'}\n";
close(MAIL);
}
sub print_thankyou_page
{
print "Content-type: text/html\n\n";
print "\n\n";
print "\n";
print "Thank you\n";
print "
\n\n";
print "Thank you for your submission\n ";
print "\n
\n";
print "\n
";
}