フォームにある、Male,Femaleをチェックするラジオボタンで、初期画面はどちらも選択してある状態に無いんですが、一度エラーを出して(1箇所ブランクとか)再入力時、ラジオボタンのチェックがFemaleについてしまいます。
(chromeブラウザでHTMLをチェックしたら、MaleとFemale両方がcheckedとなっていました。)
これを、ユーザーがもしラジオボタンをブランクでエラーを出したならブランクのまま、もしMaleを選択してて、他の箇所でエラーを出したなら、Maleをそのままチェックしていて欲しいのですが、どのように書けばいいでしょうか。
php
1<?php 2 /* Program name: form.inc 3 * Description: Defines a form that collects a user's 4 * name and phone number. 5 */ 6$labels1 = array( "username" => "User Name", 7 "phone" => "Phone", 8 "email" => "Email"); 9$labels2 = array ("password" => "Password"); 10$gen = array("Male" , "Female"); 11$date = date("Y-m-d H:i:s"); 12$submit = "Submit"; 13?> 14 15<html> 16<head> 17 <title>Register</title> 18 <style type='text/css'> 19 <!-- 20 form { 21 margin: 1.5em 0 0 0; 22 padding: 0; 23 } 24 #field {padding-bottom: 1em;} 25 label { 26 font-weight: bold; 27 float: left; 28 width: 20%; 29 margin-right: 1em; 30 text-align: right; 31 } 32 #submit { 33 margin-left: 35%; 34 } 35 --> 36 </style> 37</head> 38<body> 39<h3>Registration</h3> 40 <?php 41 echo "<form action='$_SERVER[PHP_SELF]' method='POST'>" 42 ?> 43 <fieldset style="background: #EFEFEF; width:630px; border: 1px solid #CC0000; height:100%; padding-left:10px; padding-right:10px; padding-top:10px; padding-bottom:10px;"> 44 <legend>Registration Form</legend> 45 <?php 46 foreach($labels1 as $field => $label1) 47 { 48 echo "<div id='field'><label for='$field'>$label1</label> 49 <input id='$field' name='$field' type='text' value='".@$_POST[$field]."' 50 size='50%' maxlength='65' /></div>\n"; 51 } 52foreach($labels2 as $field => $label2) 53 { 54 echo "<div id='field'><label for='$field'>$label2</label> 55 <input id='$field' name='$field' type='password' value='".@$_POST[$field]."' 56 size='50%' maxlength='65' /></div>\n"; 57 } 58echo "<div class='gen'> <label>Gender</label>"; 59foreach($gen as $value) 60{ 61 echo "<input type='radio' name='gen' "; 62 if(isset($_POST['gen']) == $value) 63 { 64 echo " checked"; 65 } 66 echo " value='$value' style='margin-left: 10%'/>$value"; 67} 68echo "</div>"; 69 70 echo "<input type='hidden' name='submitted' value='yes'>"; 71 echo "<div id='submit'> 72 <input type='submit' name='pButton' value='$submit'></div>"; 73?> 74</fieldset> 75</form> 76</body> 77</html>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/25 03:30