Need a PHP form makeover
Posted: Tue Sep 20, 2005 11:24 pm
Hello,
I have a form located here http://www.inspired-evolution.com/Contact_Form.php and it works as intended so far, but could use some improvement.
what I want to do is:
1) add code which checks for characters in the email field and if the proper characters aren't entered, sends an error.
2)when fields are left blank, return the fields with hilighted backgrounds preferably using CSS
3) have a generic error appear at the top of the form saying something like 'Not all fields have not been entered', and have maybe a ! appear beside these fields (which have hilighted backgrounds).
current php code is:
I am greatly appreciative if any or all of the iissues can be addressed
thanks!
I have a form located here http://www.inspired-evolution.com/Contact_Form.php and it works as intended so far, but could use some improvement.
what I want to do is:
1) add code which checks for characters in the email field and if the proper characters aren't entered, sends an error.
2)when fields are left blank, return the fields with hilighted backgrounds preferably using CSS
3) have a generic error appear at the top of the form saying something like 'Not all fields have not been entered', and have maybe a ! appear beside these fields (which have hilighted backgrounds).
current php code is:
Code: Select all
<?php
$form_block=<<<END_FORM
<form method="post" action="{$_SERVER['PHP_SELF']}" class="info_request">
<fieldset class="left">
<legend title="About You">About You</legend>
<p><label for="firstname"><span class="red">*</span> First Name: </label><br />
<input id="firstname" name="firstname" type="text" value="{$_POST['firstname']}" /></p>
<p><label for="lastname"><span class="red">*</span> Last Name:</label><br />
<input id="lastname" name="lastname" type="text" value="{$_POST['lastname']}" /></p>
<p><label for="company"><span class="red">*</span> Company: </label><br />
<input id="company" name="company" type="text" value="{$_POST['company']}" /></p>
<p><label for="phone"><span class="red">*</span> Phone: </label><br />
<input id="phone" name="phone" type="text" value="{$_POST['phone']}" /></p>
<p><label for="email"><span class="red">*</span> e-mail: </label><br />
<input id="email" name="email" type="text" value="{$_POST['email']}" /></p>
<p><label for="email2"><span class="red">*</span> re-enter e-mail: </label><br />
<input id="email2" name="email2" type="text" value="{$_POST['email2']}" /></p>
</fieldset>
<fieldset>
<legend title="More Info.">More Info.</legend>
<p><label for="URL"><span class="red">*</span> URL:</label><br />
<input id="URL" type="text" name="URL" value="{$_POST['URL']}"/> </p>
<p><label for="Contact_Preference"><span class="red">*</span> Best way to reach:</label><br />
<select name="Contact_Preference" id="Contact_Preference">
<option value="email">email</option>
<option value="phone">phone</option>
<option value="snail_mail">snail mail</option>
</select>
</p>
<p><label for="Contact_Time"><span class="red">*</span> Best time to contact:</label><br />
<select name="Contact_Time" id="Contact_Time">
<option value="morning">morning</option>
<option value="evening">evening</option>
<option value="anytime">anytime</option>
</select></p>
<input type="hidden" name="op" value="ds" />
<textarea name="message" id="message" rows="" cols="" >Send us a detailed message specifying what you wish to accomplish with your web site. </textarea>
<input class="submit" src="/images/submit.gif" alt="Submit" type="image" name="submit" />
</fieldset>
</form>
</div>
<p><span class="red">*</span> indicates a required field (all fields are required).</p>
END_FORM;
if ($_POST['op']!='ds') {
echo "$form_block";
} else if ($_POST["op"] == "ds") {
//Function saves time and space by eliminating unneccesary code
$first_name_err = '<span class="red">Please enter your first name!</span><br />';
}
$last_name_err = '<span class="red">Please enter your last name!</span><br />';
}
function check($fieldname)
{
global $err_msg;
if($_POST[$fieldname] == "")
if ( !isset($err_msg)) { $err_msg = "<span class='red'>You haven't entered your ".$fieldname."!</span><br />"; }
elseif ( isset($err_msg)) { $err_msg .="\n<span class='red'>You haven't entered your ".$fieldname."!</span><br />"; }
}
return $err_msg;
}
//////////////////////////
///Function execution/////
//////////////////////////
check('firstname');
check('lastname');
check('company');
check('phone');
check('email');
check('email2');
check('URL');
check('Contact_Preference');
check('Contact_Time');
check('message');
//Validating Email Address
if ($_POST['email'] != $_POST['email2']) { $email_err = "\n<span class='red'>e-mail address fields do not match!</span>"; }
if (isset($err_msg) || isset($email_err)) { echo $err_msg.$email_err."\n\n".$form_block; }
else {
//it's ok to send, so build the mail
$msg = "E-mail sent from http://www.inspired-evolution.com\n";
$msg .="Sender's first name: {$_POST['firstname']}\n";
$msg .="Sender's last name: {$_POST['lastname']}\n";
$msg .="Company name: {$_POST['company']}\n";
$msg .="Senders Phone number: {$_POST['phone']}\n";
$msg .="Senders email address: {$_POST['email']}\n";
$msg .="Senders email address (re-typed): {$_POST['email2']}\n";
$msg .="The website is : {$_POST['URL']}\n";
$msg .="I prefer to be contacted via: {$_POST['Contact_Preference']}\n";
$msg .="The Best time to contact is: {$_POST['Contact_Time']}\n";
$msg .="Message: {$_POST['message']}\n\n";
$to ="webguync@gmail.com";
$subject ="There has been a disturbance in the force";
$mailheaders ="From: Inspired-Evolution.com
<http://www.inspired-evolution.com>\n";
$mailheaders .="Reply-To: {$_POST['email']}\n";
//send the mail
mail ($to, $subject, $msg, $mailheaders);
//display information to user
echo "<p>Hola, <strong>$firstname</strong>!.<br /><br />
We have received your request for a web site review , and will respond shortly.<br />
Thanks for visiting inspired-evolution.com and have a wonderful day!<br /><br />
Regards,<br /><br />
<strong>Inspired Evolution</strong></p>";
}
}
?>thanks!