Hey everyone. I got a question that should be easy to fix. I've got a form that I want to send the results to an email address. Everything works, except the state part.
Here's the HTML:
<h1>Contact Information</h1>
<form method="post" action="cgi-bin/send2.php">
Name:<br><input name="name" type="text" size="30"><br><br>
Email:<br><input name="email" type="text" size="30"><br><br>
Phone Number:<br><input name="phone" type="text" size="30"><br><br>
Address:<br><input name="address" type="text" size="30"><br><br>
City:<br><input name="city" type="text" size="30"><br><br>
State:<br><select id="state">
<option>-Select one-</option>
<option>Alabama</option>
<option>Alaska</option>
<option>Arizona</option>
<option>Arkansas</option>
<option>California</option>
<option>Colorado</option>
<option>Connecticut</option>
<option>Delaware</option>
<option>District of Columbia</option>
<option>Florida</option>
<option>Georgia</option>
<option>Hawaii</option>
<option>Idaho</option>
<option>Illinois</option>
<option>Indiana</option>
<option>Iowa</option>
<option>Kansas</option>
<option>Kentucky</option>
<option>Louisiana</option>
<option>Maine</option>
<option>Maryland</option>
<option>Massachusetts</option>
<option>Michigan</option>
<option>Minnesota</option>
<option>Mississippi</option>
<option>Missouri</option>
<option>Montana</option>
<option>Nebraska</option>
<option>Nevada</option>
<option>New Hampshire</option>
<option>New Jersey</option>
<option>New Mexico</option>
<option>New York</option>
<option>North Carolina</option>
<option>North Dakota</option>
<option>Ohio</option>
<option>Oklahoma</option>
<option>Oregon</option>
<option>Pennsylvania</option>
<option>Rhode Island</option>
<option>South Carolina</option>
<option>South Dakota</option>
<option>Tennessee</option>
<option>Texas</option>
<option>Utah</option>
<option>Vermont</option>
<option>Virginia</option>
<option>Washington</option>
<option>West Virginia</option>
<option>Wisconsin</option>
<option>Wyoming</option>
</select><br><br>
Zip Code:<br><input name="zip" type="text" size="30"><br><br>
Comments:<br><textarea name="msg" cols="25" rows="6"></textarea><br><br>
<input type="submit" value="Send"> <input type="reset" value="Reset">
</form>
Then the PHP in a seperate file:
<?php
$to = "questions@cavephotography.net";
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$address = $_POST['address'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];
$msg = $_POST['msg'];
$sub = "Message from Cavephotography.net";
$headers = "From: $name <$email>\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$mes = "Name: ".$name."\n";
$mes .= "Email: ".$email."\n";
$mes .= "Phone: ".$phone."\n";
$mes .= "Address: ".$address."\n";
$mes .= "City: ".$city."\n";
$mes .= "State: ".$state."\n";
$mes .= "zip: ".$zip."\n";
$mes .= "Comments: ".$msg."\n";
if(empty($name) || empty($email) || empty($city) || empty($zip)) {
echo " <h3>Sorry all fields are required.</h3>";
} elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
print " <h3>Sorry the email address you entered looks like it's invalid.</h3>";
} else {
mail($to, $sub, $mes, $headers);
print " <h1><center>Thank you ".$name." for contacting us.<br>We will get back to you as soon as possible.</center></h1>";
}
?>
I know it has something to do with the state part of the form being a select menu instead of a text box. I just need to get the PHP to catch that information, because in the email, the State: part is blank:
Name: Billy Bob
Email: stupid@stupid.com
Phone: 555-555-5555
Address: 600 Dumb Lane
City: Retard
State:
zip: 90210
Comments: Do you feel lucky?
Thanks guys!