OGeek|极客世界-中国程序员成长平台

标题: Get the values of 2 HTML input tags having the same name using PHP [打印本页]

作者: 菜鸟教程小白    时间: 2022-6-1 20:10
标题: Get the values of 2 HTML input tags having the same name using PHP

Suppose I have the following table:

<form  action="bla.php" method=post>
<table class="pv-data">
<tr>
<td><input type="text" name="id" size="2" value=1 /></td>
<td><input type="text" name="longitude" size="7"/></td>
<td><input type="text" name="latitude" size="7"/></td>
</tr>
<tr>
<td><input type="text" name="id" size="2" value=2 /></td>
<td><input type="text" name="longitude" size="7"/></td>
<td><input type="text" name="latitude" size="7"/></td>
</tr>
</table>
<input type="submit" name="submit" value="SUBMIT">
</form>

I want to assign the values in this table to php variables, so in bla.php

if I used $id = $_REQUEST['id']; only the last value is taken because there are two input tags that have the same name.

So can I request the 2 values of these tags having the same name into php?

p.s don't tell me to change the name of the input tags, because the table is bit more complicated than that and it has dynamic add rows: My real code is: http://jsfiddle.net/CchES/9/



Best Answer-推荐答案


When PHP populates $_POST, if multiple pieces of data have the same name, and that name does not end in [] then only one will survive to appear in the $_POST array.

Rename the fields so the names ends in [].

don't tell me to change the name of the input tags, because the table is bit more complicated than that and it has dynamic add rows

Being dynamic shouldn't be a barrier to having [] on the end of the name.

If you really can't change the name then it might be possible to bypass $_POST entirely and parse the raw data (via php://input) but IIRC, PHP clobbers that when it populates $_POST.






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4