php中的数组中的多个复选框值

时间:2014-01-06 09:22:49

标签: php

我有一个包含产品信息的表单和一个具有两(2)个状态复选框的字段(想要为该特定产品发布广告。)我有一个字段用于“添加更多”它将克隆整个div并复选框,以便我有多个输出,但我没有得到单个值。

<div>
     <label>I want to Advertise This Item</label>
     <input type="checkbox" value="1" name="chkyes[]" id="chkyes[]"/>
     Yes
     <input type="checkbox" value="0" name="chkyes[]" id="chkyes[]"/>
     No 
</div>

上面的代码用于选择复选框,下面的代码在数组中回显值,但我没有得到复选框的值。

if(count($_POST)){
    $len = count($_POST['producttitle']);
    for ($i=1; $i < $len; $i++){
        echo $_POST['chkyes'][$i];
    }
}

5 个答案:

答案 0 :(得分:2)

为什么你不使用foreach?

例如

if (isset($_POST['chkyes'])) {
    foreach ($_POST['chkyes'] as $value) {
        echo $value;
    }
}

答案 1 :(得分:2)

第一种方法:

<input type='checkbox' name='chkyes[1]'>
<input type='checkbox' name='chkyes[2]'>
<input type='checkbox' name='chkyes[3]'>

通过这种方式,您可以使用

在PHP中访问它们
foreach ($_POST['chkyes'] as $id=>$checked){
   if ($checked =='on')
    //process your id
 }

第二种方法:在复选框上设置值的属性:

<input type='checkbox' name='chkyes[]' value='1'>
<input type='checkbox' name='chkyes[]' value='2'>
<input type='checkbox' name='chkyes[]' value='3'>

使用此功能,您只会收到选中的值:

foreach ($_POST['chkyes'] as $id){
    //process your id
 }

答案 2 :(得分:1)

输入数组从索引0开始,并使用$_POST['chkyes']代替$_POST['producttitle']

 if(count($_POST)){
     $len = count($_POST['chkyes']);
     for ($i=0; $i < $len; $i++){
         echo $_POST['chkyes'][$i];
     }
 }

你也不能像chkyes那样给予id []把它当作chkyes1,chkyes2

答案 3 :(得分:1)

尝试以下代码

<?php
if($_POST['submit'] == 'submit'){
    $len = count($_POST['chkyes']);
    for ($i=0; $i < $len; $i++){
        echo $_POST['chkyes'][$i];
    }
}
?>


<form name="test" method="POST">
<div>
     <label>I want to Advertise This Item</label>
     <input type="checkbox" value="1" name="chkyes[]" id="chkyes[]"/>
     Yes
     <input type="checkbox" value="0" name="chkyes[]" id="chkyes[]"/>
     No 
</div>
<input type="submit" name="submit" value="submit">
</form>

答案 4 :(得分:1)

仅在表单中提交已选中的复选框。它们将被收集在数组$_POST['chkyes']中,但索引将与相应的文本输入不同。您需要使用自己的foreach循环处理它们,而不是与其他输入相同的循环。

您正在做什么,为什么不使用单选按钮或单个复选框?如果用户同时检查是和否,该怎么办?