#!/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 "Error\n"; print "

\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
"; }