在同一页面PHP上有多个$ _POST

时间:2010-10-01 17:00:25

标签: php

我有一个问题。

目前,此表单将动态生成。

实施例,

<form method="POST">
<input type="text" name="location" id="location1" />
<input type="submit" value="Submit!" />

<input type="text" name="location" id="location2" />
<input type="submit" value="Submit!" />

<input type="text" name="location" id="location3" />
<input type="submit" value="Submit!" />

<input type="text" name="location" id="location4" />
<input type="submit" value="Submit!" />
</form>

因此,每当我按提交时,它将仅采用表格的最后一个值。我如何让所有$ _POST?

谢谢。

4 个答案:

答案 0 :(得分:8)

您可以为每个字段指定一个唯一名称:location1location2 ....

或者,您可以构建一个数组。

为此,请为每个元素的名称添加[]

<input type="text" name="location[]" id="location1" />

这会在$_POST["location"]中为您提供一个数组。

不要忘记在使用数据之前(例如在数据库查询或页面输出中),您需要单独清理每个数组元素(使用mysql_real_escape_string()或{{1}或者在你的情况下需要什么。)

答案 1 :(得分:4)

为每个输入指定自己的名称或使用:

<input type="text" name="location[]" id="location1" />

然后PHP将它视为一个数组。

答案 2 :(得分:2)

为每个输入提供不同的名称属性,例如location1,location2,location3和location4,然后使用$_POST['location1'] $_POST['location2']等进行访问。

或者(如果“动态”生成此表单,可能更喜欢),将每个输入的name属性更改为location [],然后访问在PHP中作为数组输入的值。例如......

<强> HTML

<form method="post">
    <input type="text" name="location[]" id="location1" />
    <input type="submit" value="Submit!" />

    <input type="text" name="location[]" id="location2" />
    <input type="submit" value="Submit!" />

    <input type="text" name="location[]" id="location3" />
    <input type="submit" value="Submit!" />

    <input type="text" name="location[]" id="location4" />
    <input type="submit" value="Submit!" />
</form>

<强> PHP

print_r($_POST['location']);

答案 3 :(得分:0)

echo "<form method='post'>";
for($x=1;$x<=4;$x++)
{
echo "<input type='text' name='location".$x."' id='location".$x."'/>";
echo "<input type='submit' value='Submit!' />";
}
echo "</form>";