我有一个问题。
目前,此表单将动态生成。
实施例,
<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?
谢谢。
答案 0 :(得分:8)
您可以为每个字段指定一个唯一名称:location1
,location2
....
或者,您可以构建一个数组。
为此,请为每个元素的名称添加[]
:
<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>";