我在使用复选框时遇到问题。我正在做的是显示一个复选框列表,如果之前选中它们将显示复选标记,然后你提交它们,另一个 php 应该识别哪些被选中,哪些没有。我的脚本适用于以前未选中的框,如果您选中它们,则操作 php 会识别它,但对于已经选中的框,我会得到通知 - 未定义的变量 - 用于框(即使再次未选中/选中)。我真的无法找到解决这个问题的方法。
我的代码是
$ind=0; //counting variable
//generating checkboxes from an xml
foreach($xml as $checkbox)
{
$checks=$xml->checkbox[$ind]->active; //the active tag has a 0 or 1 stored.
echo "Activate ".$ind; // shows activate 0, activate 1, etc...
echo "<form name='checkb' action='show.php' method='post'>
echo "<input type='checkbox' name='checks[]' class='act' value='".$ind."'";
if($checks==0){ echo ">";} else{echo " checked ='checked'>";}
echo "<input type='hidden' name='ind' value=".$ind.">";
$ind=$ind+1;
echo "<input type='submit' name='sub' value='Submit'/> </form>"; }
在我的行动 php 我有
$chks = $_POST['checks'];
$N = count($chks);
echo("Active checkboxes ");
for($i=0; $i < $N; $i++)
{
echo($chks[$i] . " ");}
所有这一切都运作良好,直到我决定显示这些框之前是否已被选中。所以我想问题是,为什么 php 不能将 checked=checked 识别为真值?或者有没有其他方法可以做到这一点?谢谢!