2

我想知道是否可以在不指定键的情况下获取 POST 数据,就像使用 print_r($_GET) 一样,前提是 URL 中有参数。

例如,如果“my-page.php”对名为“destination-page.php”的页面有一个表单操作,但表单中的输入具有随机名称,“destination-page.php”将如何选择这些值并回应他们?我尝试了 print_r($_POST) 没有成功。

我的页面.php

<!DOCTYPE HTML>
<html>
<body>

<form name="foobar" method="POST" action="destination-page.php">
    Input 1: <input type="text" name="<? echo substr(md5(mt_rand()), rand(4,12)); ?>" />
    Input 2: <input type="text" name="<? echo substr(md5(mt_rand()), rand(4,12)); ?>" />
    <input type="submit" />
</form>

</body>
</html>

目标页面.php

<!DOCTYPE HTML>
<html>
<body>
<?
    $values_array = array();

    foreach($_POST as $val)
        $values_array[$i++] = $val;

    echo(http_post_data('http://www.foobar.com/destination-page.php', $values_array));
?>
</body>
</html>

任何输入表示赞赏。显然,这个问题更多是基于“这可能吗?” 而不是“这是务实的吗?”。

谢谢你。

4

2 回答 2

2

您快到了!试试这个:

foreach($_POST as $key => $value)  {
    echo "POST " . $key . " = " . $value;   
}
于 2012-12-14T17:49:04.773 回答
2

由于$_POST是一个数组,您也可以将它用作任何其他数组。虽然我会将循环更改为

foreach($_POST as $val)
    $values_array[] = $val;

对于http_post_data,您必须data以字符串形式给出。如果您想使用该数组,请查看http_post_fields

于 2012-12-14T17:50:50.927 回答