PHP $ _POST和id唯一,没有名字

时间:2011-06-14 23:05:47

标签: php

有人可以向我解释一下吗?

我有以下代码:

<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" />

我得到了预期的输出。

4 个答案:

答案 0 :(得分:9)

从HTML 4.01规范,§17.2,"Controls"

  

控件的“控件名称”由其name属性给出。

     

...

     

当提交表单进行处理时,某些控件的名称与其当前值配对,这些对与表单一起提交。

“id”并不重要。

答案 1 :(得分:7)

标准行为。始终在表单中使用name

答案 2 :(得分:0)

你永远不能使用id将值传递给另一个页面,php可以通过methos POST读取的唯一属性是使用对象的名称。

答案 3 :(得分:0)

这建议您创建一个文本字段,并在每次更改时使用下拉列表中的ID填充。发布表单时,文本框将显示下拉列表的上一个ID。您可以将文本字段设置为隐藏