如何通过PHP读取输入字段的id?

时间:2010-12-21 14:14:20

标签: php html input

我有一个HTML输入字段,我的每个输入字段都指定了一些id,现在我如何使用这个输入字段id来识别字段。

示例:

<input type='text' id='float' name='attributename' value='' maxlength='30'/>

我需要验证float的输入字段的id,然后在特定字段中将输入字段的值插入db。

请帮帮我..

7 个答案:

答案 0 :(得分:11)

你做不到。将数据发布到服务器时,将使用name属性。 id与PHP无关。

答案 1 :(得分:7)

这取决于您使用哪种方法传输数据(由method元素的form属性指定。)

E.g。用:

<form method="POST">
    <input type='text' id='float' name='attributename' value='' maxlength='30'/>
    <input type="submit" />
</form>

您可以在提交表单时通过$_POST['attributename']访问PHP中的数据。 $_POST是一个关联数组,用于保存通过POST请求发送的数据。

注意:输入元素的name是重要属性,而不是ID。该ID 传输到服务器,它只在DOM中扮演角色。仅将namevalue发送到服务器。因此,如果您可能想要设置name="float"

更多信息: Variables From External Sources。您还可以阅读$_POST$_GET(GET是另一种方法。这用于通过URL发送数据)。

答案 2 :(得分:4)

当PHP通过GET或POST获取数据时,它不知道与给定数据相关联的输入的id。但是,你知道这个名字。

最简单的方法是使名称和id匹配,或者能够从名称中派生id,如下所示:

name:  float
id: float_id

name: address
id: address_id

原因是DOM使用id,但它与PHP的执行无关。 PHP只获取名称。由于您可以控制服务器端和客户端代码,因此您可以通过选择上面建议的命名约定来确定id是什么。

答案 3 :(得分:2)

提交表单时,您将使用输入name=""属性从以下位置提取值:

$_POST['attributename'];

答案 4 :(得分:2)

首先,id对每个元素都应该是唯一的。

您可以使用[]后缀字段名称来创建数组,以便稍后处理它们,如:

<input type='text' id='float1' name='attributename[]' value='' maxlength='30'/>
<input type='text' id='float2' name='attributename[]' value='' maxlength='30'/>
<input type='text' id='float3' name='attributename[]' value='' maxlength='30'/>

现在从PHP开始,您可以使用foreach来访问每个字段值,如下所示:

foreach($_POST['attributename'] as $value){
  echo $value . '<br>';
}

如果它只是一个字段,您只能通过其名称访问它:

echo $_POST['attributename'];

答案 5 :(得分:1)

在PHP中,只有在使用namemethod="get"method="post"和{{1}提交表单后,才能访问输入的$_GET['attributename']分别。

也许你的意思是使用javascript来定位该字段;你可以使用$_POST['attributename']

来做到这一点

答案 6 :(得分:0)

是的,deceze说得最好。

基本上,PHP中的所有内容(以及所有Web编程)都需要key = value对。所以,如果你没有钥匙,你又没有价值。如果表单元素只有一个ID而没有NAME,那么传递给PHP的变量将不存在。

测试的最佳方法是使用“GET”而不是“POST”进行HTML表单元素测试,这样,当提交表单时,您将在地址栏中看到key = value对动作的方法。您必须做的就是使用$_GET代替$_POST来提取变量。