為什麼「method="post" enctype="text/plain"」不相容?
使用 HTML 表單編碼方法時"post" with "enctype="text/plain"," 表單資料無法傳遞到 PHP 腳本。這個問題背後的原因是什麼?為什麼 text/plain 編碼與 post 不相容,而 get 允許?
說明
PHP 不支援 "enctype="text/plain"" method="post";這不是程式錯誤。
表單中「enctype」的核准值分別是:
第一個選項是預設的,第二個選項是對於檔案上傳至關重要。
PHP 在下列情況下不會填入 $_POST 陣列使用「enctype=」text/plain」;它將值儲存在 $HTTP_RAW_POST_DATA中。 🎜>在file2.php:
預期結果:
但是,使用文字/純編碼,有無法區分input1 和input2 的值。
input1=abcrninput2=def, input2=ghiinput1=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中文網其他相關文章!