2

URLにパラメータがあれば、print_r($ _ GET)のようにキーを指定せずにPOSTデータを取得できるのではないかと思います。

たとえば、「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>

destination-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>

どんな入力でも大歓迎です。明らかに、この質問は「これは可能ですか?」に基づいています。「これは実用的ですか?」ではなく

ありがとうございました。

4

2 に答える 2

2

$_POSTは配列なので、他の配列としても使用できます。ループを次のように変更しますが、

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

http_post_dataには、文字列として指定する必要がありdataます。配列を使用したい場合は、代わりにhttp_post_fieldsを調べてください。

于 2012-12-14T17:50:50.927 に答える
2

もうすぐそこです!これを試して:

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