2016-03-26 3 views
0

Я знаю, что мой запрос достаточно хорошо документирован, но я до сих пор не уверен, что мне интересно, может ли кто-то весить здесь: у меня есть ниспадающее поле: «html» или «plain».Redisplay Form with drop down PHP

См код:

 $mail_format = 0; 
    if (isset($_POST['mformat'])) { 
     $form_is_submitted = true; 
     if ($mail_format == 'plain' || $mail_format == 'html') { 
      $clean['mformat'] = $_POST['mformat']; 
     } else { 
      $errors['mformat'] = '***You have not ticked a format***'; 
      $errors_detected = true; 
     } 
    if(isset($errors['mformat'])) { 
    $mformat_2 = $errors['mformat']; 
} else { 
    $mformat_2 = ''; 
} 

    if (isset($clean['mformat'])) { 
    $mail_format = $clean['mformat']; 
} else { 
    $mail_format = ''; 
} 
      <label for="mform">Mail format</label> 
         <select name="mformat" id="mform"> 
          <option value="plain">Plain text</option> 
          <option value="html">HTML</option> 
         </select> 

Если пользователь не тикает формат, как зарегистрировать ошибку рядом с полем с указанным сообщением? Точно так же, если они делают галочку в формате, но другие поля ошибочны, как мне заставить его перерисовывать форму, выбранную пользователем?

Заранее спасибо.

+0

Вы не используете '

' теги с почтовым методом? –

+0

Да, действительно, я использую теги формы с методом post обратно в глобальный массив $ server, но думал, что оставлю все это и перейду к коду, который нужно настроить ... – Jimmyu

ответ

0

Этот сценарий имеет некоторые проблемы, вы не назначая $mail_format и ваши имена переменных должны быть более четким, но ответить на ваш общий вопрос, вы можете просто написать переменную сообщение об ошибке на странице

<div class="error"><?php echo $mail_format_error_msg;?></div> 
<select name="mail_format" id="mail_format"> 
    <option value="plain">Plain text</option> 
    <option value="html">HTML</option> 
</select> 

Для сохраняйте выбор пользователей, вам необходимо динамически записать атрибут selected. Например:

<option value="plain" <?php if (isset($mail_format) && $mail_format=="plain") echo "selected";?>>Plain text</option> 
<option value="html" <?php if (isset($mail_format) && $mail_format=="html") echo "selected";?>>HTML</option> 
+0

Спасибо! Назначить $ mail_format, когда я код: $ mail_format = $ _POST ['mformat'] ;, он ошибочно говорит о неопределенном индексе: mformat. Кроме того, с он не обеспечивает ошибку. – Jimmyu

+0

Мой пример - как это делается вообще - не замена для вас изучения базового PHP. – Hal50000