PHP POST未接收所选选项

PHP POST未接收所选选项,php,html,Php,Html,我正试图发布一个简单的选择,带有多个属性: <select name="cboCategory[]" id="cboCategory" class="box" multiple="multiple" size="5"> <option value="18">Cookies</option> <option value="19">Cookie Bouquets</option> <option value="

我正试图发布一个简单的
选择
,带有
多个
属性:

<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>
以这种方式设置时,输出总是
string(0)“
。它只是不会通过任何选定的选项

但是,如果我从select名称中删除括号,将其更改为
name=“cboCategory”
则效果良好,只返回一个选定值

其他人能知道我为什么不能让它工作吗?我觉得我肯定错过了一些明显的东西

编辑:以下是整个
$\u 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_转储之前有几个include,其中一个include破坏了
$\u POST

中的数组。您提交的表单中是否有选择框

该表单是用php中的action=“post”提交的吗

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

echo $category . "<br>";

}
foreach($\u POST['cboCategory']作为$category)
{
回声$category.“
”; }
克里斯蒂安说的不对


确定没有在表单的method属性上使用get而不是post?

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

检查表:

  • 选择框位于表单标记内
  • 同一表单中没有另一个同名元素
  • 在选择框中至少选择了一个元素

  • 使用$\u POST['cboCategory[]']代替请显示与此相关的其余代码,因为整个表单声明不仅与一个元素相关。调试101:如果找不到特定的POST变量,请使用
    var\u dump($\u POST)检查您的POST是否有效我已经通过使用
    var\u dump($\u POST)
    双重检查了值是否已过账。对不起,我应该提一下。我将用输出编辑我的问题。请尝试multiple=“yes”而不是multiple=“multpile”这是我设置问题的方式,它可以工作是和是。如果我运行
    var\u dump($\u POST)
    ,它包括
    cboCategory
    ,但它的值仍然只是一个空字符串。var\u dump($\u POST)比这做得更好。不管效率如何,如果一个不起作用,另一个也不会起作用。问题是这些值没有进入他的php数组
    foreach($_POST['cboCategory'] as $category)
    {
    
    echo $category . "<br>";
    
    }