为什么我得到"为foreach()"提供的参数无效?

时间:2016-02-01 10:49:06

标签: php

我在php中有两个页面,第一个包含一个表单:

<form method="post" action="addnames.php">
   <input type="text" name="name" placeholder="Name" /><br />
   <input type="text" name="name" placeholder="Name" /><br />
   <input type="text" name="name" placeholder="Name" /><br />
   <input type="text" name="name" placeholder="Name" /><br />

   <input type="submit" value="Done" />
</form>

这会将数据带到其他php页面,我使用foreach以这种方式读取请求:

 foreach($_REQUEST['name'] as $name){ 
     //MY CODE
 }

那么问题是什么?

3 个答案:

答案 0 :(得分:6)

如果您想将name作为数组,则需要更改表单代码:

<form method="post" action="addnames.php">
   <input type="text" name="name[]" placeholder="Name" /><br />
   <input type="text" name="name[]" placeholder="Name" /><br />
   <input type="text" name="name[]" placeholder="Name" /><br />
   <input type="text" name="name[]" placeholder="Name" /><br />

   <input type="submit" value="Done" />
</form>

现在,您可以在post请求中获取所有姓名。

答案 1 :(得分:1)

因为只有一个git remote add origin git@github.com:user/repository_name.git && git push origin master被发送到服务器,它是一个字符串,然后不是一个数组。要发送一组名称,请将输入名称更改为name以将其标识为数组

name="name[]"

答案 2 :(得分:1)

试试这段代码:

<?php
foreach($_REQUEST['name'] as $name){ 
 //MY CODE
}?>

<form method="post" action="addnames.php">
   <input type="text" name="name[]" placeholder="Name" /><br />
   <input type="text" name="name[]" placeholder="Name" /><br />
   <input type="text" name="name[]" placeholder="Name" /><br />
   <input type="text" name="name[]" placeholder="Name" /><br />

   <input type="submit" value="Done" />
</form>