我有一个复选框数组,可以在开发中正确返回值但不在生产中。在生产中,它返回一个数组,其中元素的数量对应于已检查的元素数,但每个元素的值为空。在开发中,我得到了分配给复选框值的字符串(已经检查过的字符串)。这是相关的html:
<ul>
<li><input type="checkbox" name="ckRole[]" value="Fisherman" /> Fisherman</li>
<li><input type="checkbox" name="ckRole[]" value="Seafood Supplier" /> Seafood Supplier </li>
<li><input type="checkbox" name="ckRole[]" value="Industry Representative" /> Industry Representative</li>
<li><input type="checkbox" name="ckRole[]" value="Regulator-Elected Official" /> Regulator/Elected Official</li>
<li><input type="checkbox" name="ckOther" value="Other" /> Other (explain) <input type="textbox" name="txtOther" id="txtOther" /></li>
</ul>
代码:
$contact->profession = "";
if(isset($_POST['ckRole'])) {
// echo ("<pre>" . print_r($_POST['ckRole']) . "</pre>");
$contact->profession = implode("|", $_POST['ckRole']);
}
if(isset($_POST['txtOther']) && (!empty($_POST['txtOther']))) {
$contact->profession .= ((empty($contact->profession) ? '' : '|') . 'Other (' . $_POST['txtOther'] . ')');
}
无法弄清楚为什么它在我的测试机器上运行而不是生产。我看到一个帖子说要在表单标签中添加enctype =“multipart / form-data”,但这没有帮助。