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
。
我找不到错误。为什么我的结果页面没有从我的表单中收到 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
。