2013-07-09 3 views
0

Мне удалось отобразить и отправить все значения текстовых полей, но у меня возникли проблемы с проверкой того, что день, месяц и год были выбраны и отображаются сообщение об ошибке, если они этого не сделали. После того, как вы выбрали и прошли проверку, я отправляю значения, используя скрипты формы.

Вот что я сделал. Если бы кто-нибудь мог помочь мне проверить варианты выпадающего списка, отправить значения на адрес электронной почты и перенаправить на страницу «спасибо» после отправки, я бы ее оценил.

<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>"; 
    } 
} 
?> 
+1

Пожалуйста, используйте [jsFiddle] (http://www.jsfiddle.net). Это слишком много кода для прокрутки и очень трудно читать. – DevlshOne

+1

@DevlshOne: здесь есть PHP-код, jsFiddle не поможет. Я отформатировал его, теперь должно быть лучше. –

+0

Вам нужно добавить атрибут 'name' в ваш'