#!/usr/bin/perl
##############################################################################
# Validatepl			Version 1.0				                             #
# Copyright 2013 R.Metcalfe RJM Programming www.rjmprogramming.com.au        #
# Created 25/6/2013                  Last Modified 			                 #
##############################################################################

@ourpairs = split(/&/, $ENV{'QUERY_STRING'});

$nurl = "../validatepl.html?Name=&Email=&Phone=";

foreach $ourpair (@ourpairs) {
     ($ourname, $ourvalue) = split(/=/, $ourpair);
     $ourvalue =~ tr/+/ /;
     $ourvalue =~ s/%([\dA-Fa-f]{2})/pack("C", hex($1))/eg;
     $formdata{$ourname} = $ourvalue;
}

$err = 0;
print "Content-type: text/html \n\n";
print "<html>";
if ($formdata{'Name'} eq "") {
   if ($err == 0) {
     print "<body><p>";
   }
   print "Invalid name ... try again.\n";
   $err = $err + 4;
   $nurl = "../validatepl.html?Name=";
} else {
   $nurl = "../validatepl.html?Name=" . $formdata{'Name'};
}
if ($formdata{'Email'} =~ /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/) { 
   $nurl = $nurl . "&Email=" . $formdata{'Email'};
} else {
   if ($err == 0) {
     print "<body><p>";
   }
   print "Invalid email ... try again.\n";
   $err = $err + 1;
   $nurl = $nurl . "&Email=";
}
if ($formdata{'Phone'} =~ /^\(?(\d{2,3})\)?[\.\-\/ ]?(\d{4})[\.\-\/ ]?(\d{4})$/) {
   $nurl = $nurl . "&Phone=" . $formdata{'Phone'};
} else {
   if ($err == 0) {
     print "<body><p>";
   }
   print "Invalid telephone number (please include area code) ... try again.";
   $err = $err + 2;
   $nurl = $nurl . "&Phone=";
}

if ($err == 0) {
  print "<head>";
  print "<meta http-equiv='Refresh' content='5;url=" . $nurl . "'>";
  print "</head>";
} else {
  print "Thank you. ";
  print $formdata{'Name'} . " ";
  print "</p>";
  print "<a href='" . $nurl . "' title='Back'>Back</a>";
  print "</body>";
}

print "</html>";





