Мне удалось отобразить и отправить все значения текстовых полей, но у меня возникли проблемы с проверкой того, что день, месяц и год были выбраны и отображаются сообщение об ошибке, если они этого не сделали. После того, как вы выбрали и прошли проверку, я отправляю значения, используя скрипты формы.
Вот что я сделал. Если бы кто-нибудь мог помочь мне проверить варианты выпадающего списка, отправить значения на адрес электронной почты и перенаправить на страницу «спасибо» после отправки, я бы ее оценил.
<form name="form1" e class="membership-form membership-form-stage-two" method="post" action="form-one.php">
<div class="half">
<h4>First Name</h4>
<input name="firstname" type="text" id="firstname" value="<?php echo $_POST['firstname']; ?>" class="">
</div>
<div class="half lasthalf">
<h4>Last Name</h4>
<input name="lastname" type="text" id="lastname" value="<?php echo $_POST['lastname']; ?>" class="">
</div>
<h4>Date of Birth</h4>
<select class="day" name="day">
<option>Day</option>
<option value="">1</option>
<option value="">2</option>
</select>
<select class="month" name="month">
<option>Month</option>
<option value="">1</option>
<option value="">2</option>
</select>
<select class="year" name="year">
<option>Year</option>
<option value="">1</option>
<option value="">2</option>
</select>
<h4>Email Address</h4>
<input name="emailaddress" type="text" id="emailaddress" value="<?php echo $_POST['emailaddress']; ?>" class="">
<h4>Select your Favourite </h4>
<div class="favorite">
<select>
<option value="North"> North</option>
<option value="Central">Central</option>
<option value="East">East</option>
</select>
</div>
<h4>Company Name (for Business Buddies)</h4>
<input name="companyname" type="text" id="companyname" value="<?php echo $_POST['companyname']; ?>" class="">
<input type="submit" name="Submit" value="Finish" class="membership-finish">
</form>
<?php
if (isset($_POST['Submit'])) {
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 name.<br/>';
}
if ($_POST['emailaddress'] != "") {
$emailaddress = filter_var($_POST['emailaddress'], FILTER_SANITIZE_EMAIL);
if (!filter_var($emailaddress, FILTER_VALIDATE_EMAIL)) {
$errors .= "$emailaddress <strong>NOT</strong> a valid email address.<br/><br/>";
}
} else {
$errors .= 'Please enter your email address.<br/>';
}
if ($_POST['companyname'] != "") {
$_POST['companyname'] = filter_var($_POST['companyname'], FILTER_SANITIZE_STRING);
if ($_POST['companyname'] == "") {
$errors .= 'Please enter a valid name.<br/><br/>';
}
} else {
$errors .= 'Please enter your name.<br/>';
}
if (!$errors) {
$mail_to = '[email protected]';
$subject = 'test';
$message = 'Name: ' . $_POST['firstname'] .' ' . $_POST['lastname'] . "\n";
$message .= 'Email Address: ' . $_POST['emailaddress'] . "\n";
$message .= 'Company: ' . $_POST['companyname'] . "\n";
mail($mail_to, $subject, $message);
header('Location: thank-you-one.php') ;
} else {
echo "<div class='error-message'><span>Please complete the fields in red</span></div>";
}
}
?>
Пожалуйста, используйте [jsFiddle] (http://www.jsfiddle.net). Это слишком много кода для прокрутки и очень трудно читать. – DevlshOne
@DevlshOne: здесь есть PHP-код, jsFiddle не поможет. Я отформатировал его, теперь должно быть лучше. –
Вам нужно добавить атрибут 'name' в ваш'