Php数组后置值困难

Php数组后置值困难,php,arrays,variables,post,checkbox,Php,Arrays,Variables,Post,Checkbox,我似乎无法理解为什么我不能用以下代码传递任何值: <div class="menu"> Por favor seleccione os conteúdos: <form name="Categorias" action="Elementos_Descritivos.php" method="post"> <?php $Categorias = array ("Nome", "Data", "Cliente", "Observacoes"); foreach(

我似乎无法理解为什么我不能用以下代码传递任何值:

<div class="menu">
Por favor seleccione os conteúdos:
<form name="Categorias" action="Elementos_Descritivos.php" method="post">
<?php 

$Categorias = array ("Nome", "Data", "Cliente", "Observacoes");

 foreach( $Categorias as $key => $value){

echo "<div class=\"cb-row\">
      <label for=\"$value\">$value:</label>
      <input id=\"$value\" $value=\"$value\" type=\"checkbox\" value=\"$value\" checked />
      </div>";
}
 ?>
   <div class="submit">
    <input type="submit" value="Seguinte" />
</div>
    </form>
</div>
 </div>

支持选择内容:
在Elemento_descriptivos.php页面中,我所有的代码都是:

<?php

 print("<pre>");
 print_r($_POST);
 print("</pre>");

?>

它只输出:

排列 (
)

您需要在所有输入上设置name属性,表单帖子才能正常工作。提交表单时,ID不会发布

<div class="menu">
    Por favor seleccione os conteúdos:
    <form name="Categorias" action="Elementos_Descritivos.php" method="post">

    <?php 
    $Categorias = array ("Nome", "Data", "Cliente", "Observacoes");
    foreach( $Categorias as $category){
    ?>

    <div class="cb-row">
        <label for="<?=$category;?>">
            <?=$category;?>
        </label>
        <input
            id="<?=$category;?>"
            name="<?=$category;?>"
            type="checkbox"
            value="<?=$category;?>"
            checked
            />
    </div>

    <?
    } //foreach
    ?>

    <div class="submit">
        <input name="categories" type="submit" value="Seguinte" />
    </div>
    </form>
</div>


对“提交”按钮执行相同的操作。它将允许您找出按下了哪个提交按钮,以防您有许多相同的表单。

正如Wadih指出的那样-您需要为输入分配一个名称属性。我已经重写了你的代码,希望它能变得更清晰一些。我还删除了属性$value=\“$value\”


支持选择内容:

当服务器输出到browse时,im有效地得到的是name=“Nome”不是吗?当它是纯html的时候,它工作得完美无缺,你的意思是我的提交按钮需要一个“name”参数吗?我只有一个表单,这是我在页面上得到的全部。因此,为什么我对这个问题仍然感到困惑,对不起,你能再解释一下吗?谢谢。看看你输出的HTML,你会得到Nome=“Nome”而不是name=“Nome”我确实得到Nome=“Nome”,但为什么这会阻止我在下一页发布时看到任何东西呢?因为我试图看到$u post中的所有值,这听起来可能很愚蠢,但我真的遇到了麻烦。谢谢你!对不起大家,我拿到了。。。谢谢你们的时间,我应该在编码者地狱里承受痛苦。谢谢你们,我觉得自己很傻,因为在第一篇文章中已经很清楚了。我很感激你花时间重写代码看到不同的方法很有趣:)很乐意帮忙,让我在感觉自己做了什么的时候推迟应该做的事情:)Eddy,删除标记周围的顶部“”标记,因为你不能直接将html标记放在php代码块中。您发布的示例将不起作用。oops,没有注意到其中的额外标记,为后代删除了它们。
<div class="menu">
    Por favor seleccione os conteúdos:
    <form name="Categorias" action="Elementos_Descritivos.php" method="post">

    <?php 
    $Categorias = array ("Nome", "Data", "Cliente", "Observacoes");
    foreach( $Categorias as $category){
    ?>

    <div class="cb-row">
        <label for="<?=$category;?>">
            <?=$category;?>
        </label>
        <input
            id="<?=$category;?>"
            name="<?=$category;?>"
            type="checkbox"
            value="<?=$category;?>"
            checked
            />
    </div>

    <?
    } //foreach
    ?>

    <div class="submit">
        <input name="categories" type="submit" value="Seguinte" />
    </div>
    </form>
</div>