所以基本上我让用户在第一个屏幕上输入一个数字。 这里是 test1.php,它生成用户之前输入的文本框的数量。该数字是 $input
echo "<form action='test2.php' method='post'>";
for($i=1; $i<=$input; $i++)
{
echo "Entry $i";
echo "<input type='text' name='Names'>";
}
echo "<input type='submit' class='button' name='submit' value='submit'>";
echo "</form>";
然后我的 test2.php 应该打印所有输入的值,但它只打印从 test1.php 输入的最后一个值。例如 $input 为 4,则仅打印第四个文本框中输入的文本,这是可以理解的,因为我不知道如何打印所有值。
$names=$_POST['Names'];
foreach($number as $num){
echo $num;
}
是我给文本框指定的名称有问题,还是其他原因? 非常感谢任何帮助。
最佳答案
只需创建一个名称分组属性,这样您就可以获得一组输入,而不仅仅是一个:
<input type='text' name='Names[]'>
// ^ this is important
旁注:
我不知道这是否是一个拼写错误,但这应该是 $names
而不是 $number
:
$names = $_POST['Names'];
foreach($names as $num){
echo $num . '<br/>';
}
关于php - 将文本框值存储在 php 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28476299/