2016-03-26 12 views
0

私のクエリは合理的に文書化されていますが、誰かがここに詰め掛ける可能性があるかどうかは不明です。「html」または「plain」のドロップダウンフィールドがあります。ドロップダウンを使った再表示フォーム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

本当に私は$ 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 = $ _POST ['mformat'];は、未定義インデックス:mformatというエラーを出力します。また、<? PHPエコーmformat_2; ?>それはエラーを提供しません。 – Jimmyu

+0

私の例は、どのように一般的に行われているのですか?基本的なPHPを習得する代わりにはありません。 – Hal50000

関連する問題