确定选中哪个动态生成的复选框

时间:2013-03-23 11:13:19

标签: php checkbox

我正在尝试创建一个带有复选框的表单,这些复选框最终应该将用户订阅到数据库中的论坛。

我使用此代码为当前用户动态创建订阅/取消订阅论坛列表:

//$checkboxes = array();
echo' <form  action="" method="post">';

while($unsubscrlist = mysql_fetch_assoc($sublist))
{
   //$checkboxes[] = $unsubscrlist['Name'];
    echo '<input type="checkbox" checked="checked"  name="subscrform[]" 
    value="' .$unsubscrlist['Name']. '  "/>' .$unsubscrlist['Name']. '   <br />';
}

while($subscrlist = mysql_fetch_assoc($notsublist))
{
   // $checkboxes[] = $subscrlist['Name'];
    echo '<input type="checkbox"  name"subscrform[]" 
    value="' .$subscrlist['Name']. '"/>' .$subscrlist['Name']. '<br />';
}

echo '<br />
<input type="submit" value="Submit" />
</form>';

然后,为了确定选中了哪些复选框,我使用以下代码:

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
  if(isset($_POST['subscrform'])) 
{
 //echo 'getshereeee';
    foreach($_POST['subscrform'] as $value)
    {
    //echo 'getshereeee';
            echo $value;

     }

}

现在第一个复选框 - 用户已经订阅 - 通过此代码输出为值,而第二个选中复选框列表永远不会以某种方式输出为值..

我认为这可能与使用相同名称两次有关。所以我将第一个列表更改为unsubscrform并为两者执行了检查循环,但仍然只将第一个列表作为输出值。

我觉得我错过了一些简单但却无法找到的东西。我非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我刚刚找到了解决问题的方法!

改变

echo' <form  action="" method="post">';

echo' <form name="subscrform" action="" method="post">';