2014-02-11 4 views
0

У меня есть набор из трех флажков, которые запрашивают у пользователя ввод. Они построены так:Сохранение значений флажка в массиве

<span class="playback-format-checkbox-holder"> 
    <span><b>Playback Format</span><br /> 
     <label for="dvd"> 
      <input type="checkbox" name="playback_format[]" value="dvd" id="dvd" /> 
     DVD 
     </label> 
     <label for="bluray"> 
      <input type="checkbox" name="playback_format[]" value="bluray" id="bluray" /> 
     Bluray 
     </label> 
     <label for="3d"> 
      <input type="checkbox" name="playback_format[]" value="3d" id="3d" /> 
     3D 
     </label> 
</span> 

и я отправляю результаты как так

<?php 
    $new = array(); 

    $playback_formats = $_POST['playback_format']; 

    if (isset($playback_formats)) { 
    $new['playback_format'] = $playback_formats;   
    } 
?> 

Если я выбираю два значения, только один возвращается. Например, если я выбираю bluray и 3d, массив только сохраняет bluray. Если я проверяю dvd и 3d, сохраняется только dvd. Таким образом, только первый выбор сохраняется в массиве playback_format.

Что я сделал не так?

Если я установил один флажок в каждой строке, он вернет правильные значения. массив playback_format [] не сохраняется в виде массива. Зачем?

Если я проверил два блока в первой строке и оставьте вторую строку пустой, первая строка получит первый выбор, а вторая строка получит вторую.

Я понятия не имею, что происходит. Кажется, что это не должно быть это трудно ...


Это когда я просматриваю DVD и Blu-Ray на первый набор флажков, и оставить второй набор флажков пустыми.

Array ([0] => Array ([0] => Array ([select] => 
Testing Title #1 

[url] => 
Description #1 

[playback_format] => Array ([0] => bluray)) [1] => Array ([select] => 
Testing Title #2 

[url] => 
Description #2 

[playback_format] => Array ([0] => dvd)))) 
testing a new list 

Как вы можете видеть, оно не хранится в правильном массиве. Второе значение флажка было сохранено во втором массиве по какой-либо причине, а не в первом массиве play_format.

Это сводит меня с ума.

+0

пробовал ли печать $ нового? проверьте, какие значения имеют в $ new. Я тестировал выше код, как он есть, и работает хорошо. –

+0

У меня есть, я распечатываю переменную, и она хранит переменные в случайных местах. Значения не сохраняются в массиве на строку. – EHerman

+0

Вы могли бы показать свой результат? потому что он отлично работает на моей стороне. –

ответ

0

вы просто попробуйте Еогеасп, я думаю, что будет лучше идея

foreach ($playback_format as $3d){} 
+0

Я добавляю, что туда, где я публикую свои результаты? 'Если (IsSet ($ playback_formats [$ я])) { \t \t \t \t Foreach ($ playback_formats [$ я] в качестве $ воспроизведения) { \t \t \t \t \t $ новый [$ я] [ 'playback_format'] = $ воспроизведение; \t \t \t \t} \t \t \t \t \t \t \t} ' – EHerman

+0

да и будет пытаться лыки тат Yaar .. –

+0

не может получить эту работу. Теперь он ничего не хранит в массиве. – EHerman

Смежные вопросы