2013-04-12 50 views
0

我有一个注册表。当用户在输入无效的优惠券代码后提交表单时,页面会重新加载,并且我会再次显示表单并显示所有输入的数据。输入字段很容易,但我想不出一个简单的方法来做与收音机,复选框和选择相同的方法。分配一个值给收音机,选择或复选框输入与PHP

比如我有:

<input type="radio" name="gender" value="male" /> 
<input type="radio" name="gender" value="female" /> 

我有一个包含 '男性' PHP变量$性别。但是如何选择“男性”的收音机呢?

与我的选择和复选框相同的问题。

+2

'<?=($ gender =='male')? 'selected':''; ?> – Jon

回答

1

对于少数选项,您可以使用这样的三元运算符。

<input type="radio" name="gender" value="male" <?php echo ($gender == 'male') : 'selected="selected"' : '';?> /> 
<input type="radio" name="gender" value="female" <?php echo ($gender == 'female') : 'selected="selected"' : '';?> /> 

不是最微妙的方式,但它会工作。对于更复杂的情况,建议使用DOM解析器,如DOMDocument等。

0
//retrive gender and checkbox value in edit form 
$gender=$row['gender']; 
$chkhobby=$row['chkhobby']; 
<tr> 
        <th>GENDER</th> 
        <td> 
          Male<input type="radio" name="gender" value="1" <?php echo ($gender== '1') ? "checked" : "" ; ?>/> 
          Female<input type="radio" name="gender" value="0" <?php echo ($gender== '0') ? "checked" : "" ; ?>/> 

        </td> 
       </tr> 
       <tr> 
        <th>Hobbies</th> 
        <td> 
         <pre><?php //print_r($row); 

          $hby = @explode(",",$row['chkhobby']); 
          //print_r($hby); 
         ?></pre> 
         read<input id="check_1" type="checkbox" name="chkhobby[]" value="read" <?php if(in_array("read",$hby)){?> checked="checked"<?php }?>> 
         write<input id="check_2" type="checkbox" name="chkhobby[]" value="write" <?php if(in_array("write",$hby)){?> checked="checked"<?php }?>> 
         play<input id="check_4" type="checkbox" name="chkhobby[]" value="play" <?php if(in_array("play",$hby)){?> checked="checked"<?php }?>> 


        </td> 
</tr> 
//update 
$gender=$_POST['gender']; 
     $chkhobby = implode(',', $_POST['chkhobby']); 
+0

请向您的代码添加一些解释。 – Fidel90

相关问题