POST 变量不会到达...为什么?

POST variables won't arrive ... why?

我找不到错误。为什么我的结果页面没有从我的表单中收到 POST 变量?我的 var_dump 总是得到一个空数组。这里有人可以帮我吗?代码非常简单,我不知道我还能删除哪些可能的错误源。如果我切换到 GET,它会立即生效。

我正在我的 Debian 旧稳定系统上测试这个,多年来我一直在使用它来做这些事情,现在没有任何问题。 (但它也不适用于我的外部托管网络服务器。)

我的form.php:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="device-width, initial-scale=1">
    <title>Form page</title>
</head>
<body>
    <form name="test" action="result.php" enctype="text/plain" method="post">
        <select name="chose">
            <option value="1">one</option>
            <option value="2">two</option>
            <option value="3">three</option>
        </select>
        <input type="submit" value="save">
    </form>
</body>
</html>

我的result.php:

<?php
var_dump($_POST);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="device-width, initial-scale=1">
    <title>Result page</title>
</head>
<body>
    <h1>Result</h1>
    <p><a href="form.php">return</a></p>
</body>
</html>

我觉得我快疯了。我必须忽略一些非常简单的事情。

enctype="text/plain" 旨在以人类可读的格式呈现表单数据以供调试。它不是机器可处理的(例如,您无法区分数据中的新行和条目之间的新行)。

删除那个。

(我不认为它非常适合调试,浏览器内置的开发工具可以以人类可读的格式显示 URL 编码数据)

PHP 将在数据编码为 application/x-www-form-urlencoded(表单的默认值)或 multipart/form-data(支持文件上传的块状格式)时自动填充 $_POST