1

私はこのスクリプトを手に入れました:

<?php
if (!isset($_POST) || empty($_POST)) {
    ?>
    <form name="form1" method="post" action="">
        <input type="text" name="textfield"><br />
        <input type="submit" name="Submit" value="Submit">
    </form>
    <?php
} else {
    $roughHTTPPOST = readfile("php://input");
    echo $roughHTTPPOST;
}
?>

フォームを送信するたびに、テキストフィールドと送信値の両方を含む文字列を取得します。テキストフィールドの値は非常に単純でわかりやすいものです。しかし、送信値がどこから来ているのかわかりませんか?「a」文字を入力してフォームを送信すると、文字列が返されるサンプルを次に示します。

textfield = a&Submit = Submit25 P / S:ここで意味するのは、「Submit」の後に追加された値25です。これはどこから来たのか、テキストフィールドの値は理解しやすいです。

4

2 に答える 2

1

の戻り値、つまりから読み取られたバイト数であるため、値25が追加されます。readfile()php://input

echo file_get_contents('php://input');

それは期待される出力を与えるでしょう。


の値は、Submit=Submit単にマークアップから得られます。

<input type="submit" name="Submit" value="Submit">

それを削除したい場合は、属性を削除するだけnameで、ブラウザはそれを送信しません。

于 2013-01-19T04:06:05.067 に答える
0

これはから来ています:

... name="Submit" ...
于 2013-01-18T18:06:46.853 に答える