我似乎无法理解为什么我不能通过以下代码传递任何值:
<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_Descritivos.php页面中我拥有的所有代码是:
<?php
print("<pre>");
print_r($_POST);
print("</pre>");
?>
它只是输出:
阵 ( )
谢谢。
答案 0 :(得分:7)
您需要在所有输入上设置名称属性才能使表单发布。提交表单时不会发布 ID 。
<input id=\"$value\" name=\"$value\" .../>
为提交按钮执行相同操作。它允许您确定按下哪个提交按钮,以防您有多个相同的表单。
答案 1 :(得分:2)
正如Wadih指出的那样 - 您需要为输入分配名称属性。我已经重写了你的代码,希望它变得更加清晰。我还删除了属性$ value = \“$ value \”。
<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>