如何在数组中存储每个表单的POST值?

时间:2017-05-24 21:53:31

标签: php html

基本上代码应该很简单却不起作用! 第一页:

<?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)...我需要为每个按钮设置不同的值...你能帮助我吗?

4 个答案:

答案 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>