提交复选框无法作为数组到达php

时间:2012-04-02 07:13:34

标签: forms zend-framework checkbox

我想提交一个包含许多具有不同值的复选框的表单,使用firebug我确信复选框值是发送到服务器的,但是当我print_r post变量的值时,只打印最后一个值并且igoring其他值。

<input type="checkbox"  name="fruits" value="apple" />
<input type="checkbox"  name="fruits" value="orange" />
<input type="checkbox"  name="fruits" value="banana" />

并在我打印请求参数时在服务器中

   $formData = $this->getRequest()->getPost();
    print_r($formData);

即使我选择了所有这些选项,也只打印了最后一个选项,并且firebug显示所有选项!

2 个答案:

答案 0 :(得分:3)

我通过在checkboxex

的名称中设置[]来解决它
<input type="checkbox"  name="fruits[]" value="apple" />
<input type="checkbox"  name="fruits[]" value="orange" />
<input type="checkbox"  name="fruits[]" value="banana" />

答案 1 :(得分:0)

这是ZF做同样的方式

   $fruits = new Zend_Form_Element_MultiCheckbox('fruits', array(
        'multiOptions' => array(
            'apple' => 'Label for apple',
            'orange' => 'I am good orange',
            'banana' => 'I am banana'
        );
    ));

    echo $fruits;