#!/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 ""; if ($formdata{'Name'} eq "") { if ($err == 0) { print "

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

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

"; } print "Invalid telephone number (please include area code) ... try again."; $err = $err + 2; $nurl = $nurl . "&Phone="; } if ($err == 0) { print ""; print ""; print ""; } else { print "Thank you. "; print $formdata{'Name'} . " "; print "

"; print "Back"; print ""; } print "";