"method="post" enctype="text/plain":兼容性问题
当将表单元素与两种方法一起使用时= "post" 和 enctype="text/plain",用户可能会遇到数据传输到指定 PHP 文件的问题,这是因为 PHP 不支持处理 text/plain 编码。对于 POST 数据。
为什么 text/plain 编码有问题?
enctype 的有效值包括 application/x-www-form-urlencoded 和 multipart/form-data . 第一个是 POST 请求的默认值,第二个是上传文件时使用的。
当使用 text/plain 编码时POST,PHP 将原始表单数据存储在 $HTTP_RAW_POST_DATA 变量中,而不是填充 $_POST 数组,这可能会导致访问表单值时出现不一致和歧义。
示例
考虑以下形式:<form method="post" enctype="text/plain" action="proc.php"> <textarea name="input1">abc input2=def</textarea> <input name="input2" value="ghi" /> <input type="submit"> </form>
print($HTTP_RAW_POST_DATA);
结果:
input1=abc input2=def input2=ghi
以上是为什么在 POST 请求中使用 `enctype='text/plain'` 会导致 PHP 出现问题?的详细内容。更多信息请关注PHP中文网其他相关文章!