ホームページ > バックエンド開発 > PHPチュートリアル > GET ではサポートされるのに、POST では `enctype='text/plain'` がサポートされないのはなぜですか?

GET ではサポートされるのに、POST では `enctype='text/plain'` がサポートされないのはなぜですか?

Linda Hamilton
リリース: 2024-12-05 16:24:11
オリジナル
402 人が閲覧しました

Why Doesn't POST Support `enctype=

method="post" と enctype="text/plain" の非互換性

次のフォームを使用しようとした場合:

<form method="post" enctype="text/plain" action="proc.php">
ログイン後にコピー

フォーム データを「proc.php」ファイルに正常に送信するときに問題が発生する場合があります。この問題の原因は何ですか?また、「get」メソッドでは「text/plain」エンコーディングを利用できるのに、「post」メソッドでは「text/plain」エンコードを利用できないのはなぜですか?

説明:

PHP が「post」メソッドで「text/plain」エンコーディングを処理できないことが、この問題の根本原因です(問題ではありません)。 bug):

https://bugs.php.net/bug.php?id=33741

」の「enctype」属性の場合タグの場合、次の有効な値は次のとおりです。

  • application/x-www-form-urlencoded
  • multipart/form-data

最初の値は次のとおりです。デフォルトで、2 番目はファイルのアップロードにのみ必要です。

PHP の理由動作:

Alohci は、PHP が $_POST 配列にデータを設定せず、代わりに $HTTP_RAW_POST_DATA 変数に値を格納する理由について説明しました:

GET と POST の区別:

  • GET: 変数はクエリ文字列として URL に含まれており、URL エンコードする必要があります。 「enctype=text/plain」を指定しても、ブラウザは変数を URL エンコードします。
  • POST: 変数は URL の一部ではありませんが、HTTP リクエスト (POSTDATA) の最後のヘッダーとして送信されます。それらを「text/plain」として送信するか「application/x-www-form-urlencoded」として送信するかを指定できますが、後者は曖昧さを排除できる唯一のオプションです。

以上がGET ではサポートされるのに、POST では `enctype='text/plain'` がサポートされないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート