"method="post" enctype="text/plain"" は互換性がないのはなぜですか?
HTML フォームのエンコード方式を使用する場合"post" が "enctype="text/plain"" の場合、フォーム データは PHP スクリプトに配信されません。この問題の背後にある理由は何ですか? text/plain エンコーディングは get では許可されているのに、post とは互換性がないのはなぜですか?
説明
PHP は、" の "enctype="text/plain"" をサポートしていません。 method="post"; これはプログラムのバグではありません。
フォーム内の「enctype」の値は承認されています。
最初のオプションがデフォルトであり、2 番目のオプションはファイルのアップロードには必須です。
次の場合、PHP は $_POST 配列に値を設定しません。 "enctype="text/plain" が使用され、値が $HTTP_RAW_POST_DATA に保存されます。
Text/Plain エンコーディングに関する潜在的な問題
次のシナリオ:
内file1.php:
<form method="post" enctype="text/plain" action="file2.php"> <textarea name="input1">abc input2=def</textarea> <input name="input2" value="ghi" /> <input type="submit"> </form>
file2.php:
<?php print($HTTP_RAW_POST_DATA); ?>
期待される結果:
input1=abc input2=def input2=ghi
ただし、text/plain エンコーディングでは、 input1 と input2 の値を区別する方法がありません。 be:
GET と POST の違いつまり、
以上が`enctype='text/plain'` が HTML フォームの POST メソッドと互換性がないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。