为什么“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 中。
文本/纯文本编码的潜在问题
考虑以下场景:
中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
但是,使用文本/纯编码,有无法区分 input1 和 input2 的值。为:
GET 和 POST 的区别就是:
以上是为什么 `enctype='text/plain'` 与 HTML 表单中的 POST 方法不兼容?的详细内容。更多信息请关注PHP中文网其他相关文章!