我有一组3个复选框,要求用户输入。它们的构造如下:
<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;
}
?>
如果我选择两个值,则只返回一个值。例如,如果我选择蓝光和3D,则阵列仅存储蓝光。如果我检查DVD和3d只存储DVD。因此,只有第一个选择存储在playback_format数组中。
我做错了什么?
如果我在每行中选中一个复选框,则返回正确的值。 playback_format []数组不作为数组存储。为什么呢?
如果我检查第一行中的两个框,并将第二行留空,则第一行获得第一行,第二行获得第二行。
我不知道发生了什么事。这似乎不应该是这么困难......
这是我在第一组复选框上检查DVD和Bluray,并将第二组复选框留空。
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
如您所见,它没有存储在正确的数组中。无论出于何种原因,第二个复选框值都存储在第二个数组中,而不是存储在第一行的playback_format数组中。
这让我发疯了。
答案 0 :(得分:0)
你只是试着预测,我认为这会有更好的想法
foreach ($playback_format as $3d){}