首頁 > 後端開發 > php教程 > 為什麼 `enctype='text/plain'` 與 HTML 表單中的 POST 方法不相容?

為什麼 `enctype='text/plain'` 與 HTML 表單中的 POST 方法不相容?

Barbara Streisand
發布: 2024-12-16 04:37:11
原創
885 人瀏覽過

Why is `enctype=

為什麼「method="post" enctype="text/plain"」不相容?

使用 HTML 表單編碼方法時"post" with "enctype="text/plain"," 表單資料無法傳遞到 PHP 腳本。這個問題背後的原因是什麼?為什麼 text/plain 編碼與 post 不相容,而 get 允許?

說明

PHP 不支援 "enctype="text/plain"" method="post";這不是程式錯誤。

表單中「enctype」的核准值分別是:

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

第一個選項是預設的,第二個選項是對於檔案上傳至關重要。

PHP 在下列情況下不會填入 $_POST 陣列使用「enctype=」text/plain」;它將值儲存在 $HTTP_RAW_POST_DATA中。 🎜>在file2.php:

預期結果:

但是,使用文字/純編碼,有無法區分input1 和input2 的值。

input1=abcrninput2=def, input2=ghi

input1=abc, input2=defrninput2=ghi
<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>
登入後複製

GET 和POST 的差別就是:
<?php
print($HTTP_RAW_POST_DATA);
?>
登入後複製

GET 變數出現在URL 中作為變數出現在URL 中作為變數查詢字串,並且必須進行URL 編碼,即使使用enctype="text/plain"。避免歧義,首選後者。

以上是為什麼 `enctype='text/plain'` 與 HTML 表單中的 POST 方法不相容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板