PHP自动检查复选框不工作

PHP自动检查复选框不工作,php,checkbox,space,Php,Checkbox,Space,我的自动检查系统工作不正常 while($linha = mysql_fetch_array($tabela)) { $nome = $linha['TABLE_NAME']; ?> <input type="checkbox" name="<?php echo $nome ?>" id="<?php echo $nome ?>" value="<?php echo $nome ?>" <?php if(i

我的自动检查系统工作不正常

while($linha = mysql_fetch_array($tabela))
{
    $nome = $linha['TABLE_NAME'];

    ?>

        <input type="checkbox" name="<?php echo $nome ?>" id="<?php echo $nome ?>" value="<?php echo $nome ?>" <?php if(isset($_POST[$nome]))  echo "checked='checked'";?>/> <?php echo $nome ?><br />

    <?php
}
while($linha=mysql\u fetch\u数组($tabela))
{
$nome=$linha['TABLE_NAME'];
?>

如果空格是个问题,你就不能用另一个字符替换它,如下所示:

str_replace(' ','|',$nome);

然后,在读取结果时,只需将|替换为空格并将其保存到DB中即可

您只能使用标记中的“checked”值检查输入:

<input type="checkbox" checked />


尝试在php的html中写入单词而不是“checked='checked'”。

问题在于,您在
input
标记的
name
属性中使用了空格。请参阅:

ID和名称标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”)


不允许使用空格
POST
GET
方法提交空格时,空格将无法正常工作。因此,应使用空格重命名任何值,或使用
stru\u replace
函数以下划线或类似内容替换空格。请注意以下部分“必须以字母开头”…这也意味着
106 Sul
的值无效,即使您将其更改为
106Sul

Var\u dump($nome)请..Var\u dump($nome)返回它>字符串(7)“106 Sul”-1,因为
checked=“checked“
仍然是有效的HTML标记,尽管它在HTML5中并不常见,但对于XHTML标准来说它是活跃的。无论哪种方式,它都可以在任何现代浏览器中工作。我没有提到你不能使用它。但是它不会解决问题,因此它不是一个答案,而是一个注释。谢谢你,我的朋友,我第一次看到这个功能