一个form表单中,上传和接收多个相同的name字段参数

时间:2017-04-08
一般我们在同一个表单中,都会提交不同的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字段的参数了。
上一条:php将数组变成字符串implode和explode 下一条:关于PHP+MYSQL数据库保存时间的问题

相关文章

最新文章