我正在尝试制作一个带有复选框的表单,该表单最终应该让用户订阅数据库中的论坛。
我使用此代码为当前用户动态创建订阅/取消订阅的论坛列表:
//$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 并为两者进行了检查循环,但仍然只将第一个列表作为输出值。
我觉得我错过了一些简单的东西,但无法真正找出什么。非常感谢您的帮助!