2016-03-26 26 views
0

Sorgunun oldukça iyi bir şekilde belgelendiğini biliyorum, ancak birisinin burada tartılabileceğini merak ettiğimden emin değilim: 'html' ya da 'plain' şeklinde bir alanım var.Açılır formu PHP ile düşürme

bakınız kodu: kullanıcı bir biçim kene vermezse

 $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> 

, nasıl yukarıdaki mesajla alanının yanındaki hata kayıt olabilirim? Aynı şekilde, bir biçimi tıklatırlarsa ancak diğer alanlar yanlışsa, kullanıcının seçtiği seçeneği yeniden görüntülemek için nasıl alabilirim?

Şimdiden teşekkürler.

+0

Post yöntemi ile '

' etiketleri kullanmıyor musunuz? –

+0

Evet, aslında $ post global sunucuya bir post metodu ile form etiketlerini kullanıyorum ama tüm bunları dışarıda bırakacağım ve konfigüre edilmesi gereken kodu almayı düşündüm ... – Jimmyu

cevap

0

Yani script $mail_format atama değiliz ve değişken adları daha net olmalı, ama genel soruyu cevaplamak için, bazı sorunları var, sadece sayfaya hata mesajı değişkeni yazabilir

<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> 

için Kullanıcı seçimini sürdürmek için, selected özniteliğini dinamik olarak yazmanız gerekir. Bunun gibi:

<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

Teşekkürler! $ Mail_format atamak için, kod yazdığım zaman: $ mail_format = $ _POST ['mformat']; undefined index: mformat. Ayrıca, hata vermez. – Jimmyu

+0

Örneğim genel olarak nasıl yapıldığı - temel PHP'yi öğrenmeniz için bir değişiklik değil. – Hal50000