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>