Php 为什么我会得到;为foreach()提供的参数无效;?
我有两个php页面,第一个包含一个表单: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
<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>