You have a few options.
In your form take out value="."
in <option value="."></option>
then change this if (isset($_REQUEST['reason']) && $_REQUEST['reason'] =='.') {
to
if (!isset($_REQUEST['reason'])) {
and that option will work (tested)
Be sure to make the change for if ($_POST['emial'] != "") {
to if ($_POST['email'] != "") {
Along with Dimitri Mostrey's
answer.
You could also try what you already have, but include exit;
at the end like this and add !
in your if isset
:
Notice the added !
which wasn't in your handler and needs it.
Otherwise, using if (isset
, you're telling "if it is set" which it isn't.
if (!isset($_REQUEST['reason']) || $_REQUEST['reason'] =='.') {
echo 'Please select a reason for contacting.<br/>';
exit;
Email validation
Underneath if (isset($_POST['submit'])){
add $email = $_POST['email'];
Then change:
if ($_POST['email'] != "") {
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors .="$email is <strong>NOT</strong> a valid email address.<br/<br/>";
}
}
to
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
echo "E-mail is not valid";
exit;
}
Here's a total rewrite:
NOTE: It is better to put your variables at the top, instead of further down below.
I added $email = $_POST['email'];
underneath if (isset($_POST['submit'])){
<?php
/*Validate and Sanitize */
if (isset($_POST['submit'])){
$email = $_POST['email'];
}
$error = ""; // added by me
if ($_POST['firstname'] != "") {
$_POST['firstname'] = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
if ($_POST['firstname'] == "") {
$errors .= 'Please enter a valid name.<br/><br/>';
}
} else {
$errors .= 'Please enter your name.</br>';
}
if ($_POST['lastname'] != "") {
$_POST['lastname'] = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING);
if ($_POST['lastname'] == "") {
$errors .= 'Please enter a valid name.<br/><br/>';
}
} else {
$errors .= 'Please enter your last name.</br>';
}
/*
if ($_POST['email'] != "") {
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors .="$email is <strong>NOT</strong> a valid email address.<br/<br/>";
}
}
*/
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
echo "E-mail is not valid";
exit;
}
else {
$errors .= 'Please enter your email address.<br/>';
}
if (!isset($_REQUEST['reason']) || $_REQUEST['reason'] =='.') {
echo 'Please select a reason for contacting.<br/>';
exit;
}
if ($_POST['contactcomments'] != "") {
$_POST['contactcomments'] = filter_var($_POST['contactcomments'], FILTER_SANITIZE_STRING);
if ($_POST['contactcomments'] == "") {
$errors .='Please enter a message to send.<br/>';
}
} else {
$errors .='Please enter a message to send.<br/>';
}
/* Email Variables */
$emailSubject = 'Website Mail!';
$webMaster = 'kmurray@frgraphicsolutions.com';
/* Data Variables */
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$reason = $_POST['reason'];
$contactcomments = $_POST['contactcomments'];
$newsletter = $_POST['newsletter'];
$body = <<<EOD
<br><hr><br>
Name: $firstname <br>
Last Name: $lastname <br>
Email: $email <br>
Reason: $reason <br>
Comments: $contactcomments <br>
Newsletter = $newsletter <br>
EOD;
$headers = "From: $email\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail($webMaster, $emailSubject, $body, $headers);
/* Results rendered as HTML */
$theResults = <<<EOD
<html>
<head>
<title>sent message</title>
<meta http-equiv="refresh" content="3;URL=http://frgraphicsolutions.com/working/?page_id=8">
<style type="text/css">
<!--
body {
background-color: #fff;
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
font-style: normal;
line-height: normal;
font-weight: normal;
color: #555555;
text-decoration: none;
padding-top: 200px;
margin-left: 150px;
width: 800px;
}
-->
</style>
</head>
<div align="center">Thank you! We will contact you back as soon as possible.</div>
</div>
</body>
</html>
EOD;
echo "$theResults";
?>