有人可以向我解释一下吗?
我有以下代码:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" id="testField" />
<input type="submit">
</form>
<br /><br />
<pre>
<?php print_r($_POST); ?>
</pre>
这在我的主开发盒和服务器上运行良好。但是,我现在不得不在我的笔记本电脑上远程工作。我安装了与我的开发设置完全相同的WAMPServer 2.1a版本,$ _POST数组为空。
如果我宣布该字段为:
<input type="text" name="testField" />
我得到了预期的输出。
答案 0 :(得分:9)
从HTML 4.01规范,§17.2,"Controls":
控件的“控件名称”由其name属性给出。
...
当提交表单进行处理时,某些控件的名称与其当前值配对,这些对与表单一起提交。
“id”并不重要。
答案 1 :(得分:7)
标准行为。始终在表单中使用name
。
答案 2 :(得分:0)
你永远不能使用id将值传递给另一个页面,php可以通过methos POST读取的唯一属性是使用对象的名称。
答案 3 :(得分:0)
这建议您创建一个文本字段,并在每次更改时使用下拉列表中的ID填充。发布表单时,文本框将显示下拉列表的上一个ID。您可以将文本字段设置为隐藏