基本上代码应该很简单却不起作用! 第一页:
<?php
$i = 1;
$var;
while($i != 10)
{
$var="
<form id='upload' action='test2.php' method='POST'>
<input type='hidden' name='test' value='{$i}'>
<input class='buttom' name='album' id='submit' value='Go to album' type='submit'>
</div> ";
$i = $i+1;
echo $var;
}
?>
第二页:
<?php
echo $_POST['test'];
?>
当我运行代码时,我总是只得到最后一个值(9)...我需要为每个按钮设置不同的值...你能帮助我吗?
答案 0 :(得分:1)
创建包含多个form
元素名称的单个input
作为数组,以便在单个输入中获得多个值
试试这个:
<input type='hidden' name='test[]' value='{$i}'>
现在,您将收到一个test
数组$_POST['test']
,其中包含不同的值
答案 1 :(得分:1)
另一个建议解决方案的问题是您将有10个表单,但您无法一次提交所有项目。您只能提交其中一个的值。
我相信您正在尝试创建10个输入元素而不是10个单独的表单:
<?php
$i = 1;
$var;
$var .= "<form id='upload' action='test2.php' method='POST'>"
while($i != 10)
{
$var .= "<input type='hidden' name='test[]' value='{$i}'>"
$i = $i+1;
}
$var .= "<input class='buttom' name='album' id='submit' value='Go to album' type='submit'>
</div>"
echo $var
?>
这是我建议的代码,而不是您所拥有的代码:
<?php
$html = "<form id='upload' action='test2.php' method='POST'>";
for ($i = 1; $i <= 10; $i++){
$html .= "<input type='hidden' name='test[]' value='{$i}'>";
}
$html .= "<input class='buttom' name='album' id='submit' value='Go to album' type='submit'>"
$html .= "</form>";
echo $html
?>
答案 2 :(得分:1)
您不需要多个表单或隐藏输入来实现此目的。您只需使用按钮,并将其值设置为$i
。
echo "<form id='upload' action='test2.php' method='POST'>";
for ($i = 0; $i < 10; $i++) {
echo "<button type='submit' name='test' value='$i'>Go to album</button>";
}
echo '</form>';
在test2.php
中,$_POST['test']
将包含您点击的按钮的$i
值。
答案 3 :(得分:0)
比Mahesh的答案需要的工作多一点
首先,一个问题:你真的想要10个表单 - 或者你想要一个包含10个问题的表单。请注意,$_POST
只会包含提交表单中的值(读取:一种表单)。
我想你想要像
这样的东西<form id="upload" action="test2.php" method="POST">
<?php for ($i = 0; $i < 10; $i++) { ?>
<input name="test[]" type="hidden" value="<?=$i?>">
<?php } ?>
<button type="submit">submit</button>
</form>
编辑:如果您的回复如下,为什么不使用查询参数?
<a href="test2.php?page=<?=$i?>">Go to Album <?=$i?></a>