PHP POST未接收所选选项

时间:2013-04-30 15:21:11

标签: php html

我正在尝试使用select属性发布一个简单的multiple

<select name="cboCategory[]" id="cboCategory" class="box" multiple="multiple" size="5">
    <option value="18">Cookies</option>
    <option value="19">Cookie Bouquets</option>
    <option value="20">Cookie Platters</option>
    <option value="21">Cookie Pizzas</option>
    <option value="22">Cakes</option>
    <option value="23">Cupcakes</option>
    <option value="25">Gifts - Corporate</option>
    <option value="26">Gifts - Misc.</option>
    <option value="27">• Birthday</option>
    <option value="28">• Baby</option>
    <option value="29">• Get Well</option>
    <option value="30">• Congratulations</option>
    <option value="31">• Thank You</option>
    <option value="35">• Holiday</option>
    <option value="41">Gifts</option>
    <option value="42">&nbsp;&nbsp;Corporate</option>
    <option value="43">&nbsp;&nbsp;Miscellaneous</option>
</select>

在PHP方面,我只是想打印出选定的值:

var_dump( $_POST['cboCategory'] ); exit;

当我以这种方式设置时,输出始终为string(0) ""。它只是不会传递任何选定的选项。

但是,如果我从选择名称中删除括号,将其更改为name="cboCategory"它可以正常工作,只返回一个选定的值。

其他人可以弄清楚为什么我不能让这个工作?我觉得我必须遗漏一些明显的东西。

编辑:以下是整个$_POST变量:

array(15) { ["cboCategory"]=> string(0) "" ["txtName"]=> string(28) "50th Birthday Cookie Bouquet" ["mtxDescription"]=> string(266) "Half a decade is a big deal! Celebrate it with one of our cookie bouquets. They are overflowing with our delicious homemade large cookies on a stick, balloon on a stick, large candy bar, candy bites, ribbons, decorations, and your enclosure card. Container may vary." ["txtOptionName"]=> string(7) "default" ["txtValue1"]=> string(9) "4 cookies" ["txtPrice1"]=> string(2) "25" ["txtValue2"]=> string(9) "6 cookies" ["txtPrice2"]=> string(2) "30" ["txtValue3"]=> string(9) "8 cookies" ["txtPrice3"]=> string(2) "35" ["txtValue4"]=> string(0) "" ["txtPrice4"]=> string(0) "" ["txtValue5"]=> string(0) "" ["txtPrice5"]=> string(0) "" ["txtQty"]=> string(4) "4999" }

EDIT2:感谢所有人的帮助。我发现了这个问题,它确实超出了我发布的内容。我在页面顶部有var_dump,帖子在没有括号的情况下工作正常,所以我假设其他所有内容都设置正确。但是,在我的var_dump之前有一对包含,并且$_POST中包含一个包含破坏数组的内容。

3 个答案:

答案 0 :(得分:1)

您的代码中没有问题。您应该确保已将选择框放在表单标记内,至少选择了一个元素,并且表单标记中没有其他元素具有相同的名称。

清单:

  1. 选择框位于表单标记
  2. 在同一表单中没有其他具有相同名称的元素
  3. 在选择框
  4. 中至少选择了一个元素

答案 1 :(得分:0)

您提交的表单中是否有selectBox?

该表单是否以action =“post”提交?

答案 2 :(得分:0)

在php中

foreach($_POST['cboCategory'] as $category)
{

echo $category . "<br>";

}

基督徒所说的不对

当然你没有在表单的方法属性上使用get而不是post?