如何在PHP中将多个输入名称检索到一个变量中

时间:2018-08-27 23:53:25

标签: php

我有一个程序,用户可以在其中输入三种喜欢的颜色的名称。当PHP脚本收到它时,我需要将它们存储在一个变量中。如果用户输入一种颜色,则显示一种颜色,然后将其输入到.txt文件中...如果输入的是三种颜色,而不是文件中输入的全部三种颜色,等等。是否有一种方法可以接收来自三个单独文本字段的用户输入变成一个变量?我希望它们显示在html表的3个单独的字段中。

HTML

<form method="POST" action="colors.php">

<p>Enter Your favorite colors
    <br /><input type="text" name="color1" size="20">
    <br /><input type="text" name="color2" size="20">
    <br /><input type="text" name="color3" size="20">
    </p>

<input type="submit" value="Submit">

</form>

PHP

<table>
<tr>
 $color= $_POST['color'];
 $fp = fopen($filename, 'a');
  $colors .= "<td>".$color1."</td>";
    $colors .= "<td>".$color2."</td>";
    $colors.= "<td>". $color3 ."</td>";
</tr>
</table>

1 个答案:

答案 0 :(得分:3)

使用数组符号表示表单输入的名称:

<form method="POST" action="colors.php">

<p>Enter Your favorite colors
<br /><input type="text" name="color[]" size="20">
<br /><input type="text" name="color[]" size="20">
<br /><input type="text" name="color[]" size="20">
</p>

<input type="submit" value="Submit">

</form>

在PHP中,您将收到一个值数组。就像遍历任何数组一样循环遍历它:

<table>
<tr>
<?php
 foreach ($_POST['color'] as $color) {
   echo "<td>".$color."</td>";
 }
</tr>
</table>

请记住,您不应该信任用户数据,应该根据需要清理并转义数据。