一般我们在同一个表单中,都会提交不同的name字段。可是,我遇到了提交相同字段的情况,例子如下:
<form action="test_receive.php" method="post">
<div>
<p>第一个人</p>
姓名:<input type="text" name="name[]" />
年龄:<input type="text" name="age[]" />
</div>
<div>
<p>第二个人</p>
姓名:<input type="text" name="name[]" />
年龄:<input type="text" name="age[]" />
</div>
<input type="submit" value="提交" />
</form>
需要提交两个人的信息,所以我会在name字段的字段名加个[],表示数组参数。如果还有其他的相同的字段和个人信息区分开,可以用name=”person[‘name’][]”和name=”person[‘age’][]”来表示。页面如下:
在接收参数的时候,我一开始用的是thinkphp框架的I()函数来接收的。可是收到的参数总是NULL,可能是I()函数在接收数组参数的时候存在一些问题。
后来我用$_POST和$_REQUEST都能正确接收到参数。代码如下:
<?php
$request = $_REQUEST;
var_dump($request);
$post = $_POST;
var_dump($post);
?>
$_REQUEST 打印出来的结果:
$_POST 打印出来的结果:
这样就可以通过数组的形式,接收一个form表单中传递过来的多个相同name字段的参数了。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!