我正在尝试将SELECT选项转换为RADIO按钮。但是当我发布表格时,我什么都没得到。我认为这是因为选择名称和广播名称中存在[]时的不同反应?我该如何更改服务器端的POST代码?
<?php
foreach ($options as $option) { ?>
<tr>
<td><?php echo $option['name']; ?>:</td>
<td><select name="option[<?php echo $option['option_id']; ?>]">
<?php foreach ($option['option_value'] as $option_value) { ?>
<option value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?>
<?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?>
<?php } ?>
</option>
<?php } ?>
</select></td>
</tr>
<?php } ?>
尝试:
<?php
foreach ($options as $option) { ?>
<tr>
<td><?php echo $option['name']; ?>:</td>
<td>
<?php foreach ($option['option_value'] as $option_value) { ?>
<input type="radio" name="option[<?php echo $option['option_id']; ?>]" value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?><?php if ($option_value['price']) { ?><?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?><?php } ?>
<?php } ?>
</td>
</tr>
<?php } ?>
服务器代码:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['option'])) {
$option = $_POST['option'];
} else {
$option = array();
}
}
print_r($option);
?>
答案 0 :(得分:1)
您必须分别检查每个字段的内容,例如NSKeyedUnarchiver
。
在循环中,这看起来像是:
$_POST['option1']