Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我会得到;为foreach()提供的参数无效;?_Php - Fatal编程技术网

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

Php 为什么我会得到;为foreach()提供的参数无效;?,php,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="n

我有两个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>

那么问题是什么呢

因为只有一个
名称
被发送到服务器,它是字符串,而不是数组。要发送名称数组,请将输入名称更改为
name=“name[]”
以将其标识为数组

<input type="text" name="name[]" placeholder="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
请求中获取所有姓名。

请尝试以下代码:

<?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>






Upvoting,因为我不知道你能做到,这很酷。
<?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>