2015-05-13 2 views
2

Я пытаюсь преобразовать опции SELECT в кнопки RADIO. но когда я отправляю форму, я ничего не получаю. Я думаю, что это потому, что дефинитивная реакция, когда [] существует в имени и имени радио? как изменить код POST на стороне сервера?php/html выберите опции для переключателей

<?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); 
     ?> 
+1

Я не вижу каких-либо ошибок. Код должен работать. Вы пробовали var_dump ($ _ POST), чтобы узнать, что вы публикуете? –

ответ

1

Вы должны изучить содержание каждого поля в отдельности, например, $_POST['option1'].

В цикле, это будет выглядеть что-то вроде:

foreach ($options as $option) { 
    if (isset($_POST['option' . $option['option_id']])) { 
     print_r($option); 
    } 
}