我想知道是否有可能在不指定密钥的情况下获取POST数据,就像使用print_r($ _ GET)一样,前提是URL中有参数。
例如,如果'my-page.php'对名为'destination-page.php'的页面执行了表单操作,但表单中的输入具有随机名称,那么'destination-page.php'将如何选择这些价值观并将它们回应出来?我尝试了print_r($ _ POST)但没有成功。
MY-page.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>
目的地page.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>
任何输入都表示赞赏。显然,这个问题更多地基于“这可能吗?”而不是“这是务实吗?”。
谢谢。
答案 0 :(得分:2)
你快到了!试试这个:
foreach($_POST as $key => $value) {
echo "POST " . $key . " = " . $value;
}
答案 1 :(得分:2)
由于$_POST是一个数组,因此您也可以将其用作任何其他数组。虽然我会把循环改为
foreach($_POST as $val)
$values_array[] = $val;
对于http_post_data,您必须将data
作为字符串。如果您想使用该数组,请转而使用http_post_fields。