我有6个选项,我想获取选中的值以将它们存储在第二页的变量中。我该怎么做呢?
<form action="third.php" method="get"> <!-- Choices --> Red <input type="checkbox" name="color[]" id="color" value="Red"> Green <input type="checkbox" name="color[]" id="color" value="Green"> Blue <input type="checkbox" name="color[]" id="color" value="Blue"> Cyan <input type="checkbox" name="color[]" id="color" value="Cyan"> Magenta <input type="checkbox" name="color[]" id="color" value="Magenta"> Yellow <input type="checkbox" name="color[]" id="color" value="Yellow"> Black <input type="checkbox" name="color[]" id="color" value="Black"> <!-- Submit --> <input type="submit" value="submit"> </form>
和third.php页面:
third.php
$color = $_GET['color']; echo 'The color is '.$color;
如果我删除[],我会打开颜色,当我这样做时会color[]收到一条通知,说:
[]
color[]
数组到字符串的转换
我想要的是选中复选框的值,因此我可以将其存储在变量中。
我最喜欢的一种好方法,我敢肯定,很多人都会利用foreach它来输出您选择的每种颜色,并在屏幕上彼此下方显示。
foreach
在使用复选框时,您别无选择,只能使用foreach,这就是为什么只从数组中返回一个值的原因。
这是使用的示例$_GET。但是$_POST,您可以使用并且需要使两个指令在两个文件中都匹配才能正常工作。
$_GET
$_POST
<form action="third.php" method="get"> Red<input type="checkbox" name="color[]" id="color" value="red"> Green<input type="checkbox" name="color[]" id="color" value="green"> Blue<input type="checkbox" name="color[]" id="color" value="blue"> Cyan<input type="checkbox" name="color[]" id="color" value="cyan"> Magenta<input type="checkbox" name="color[]" id="color" value="Magenta"> Yellow<input type="checkbox" name="color[]" id="color" value="yellow"> Black<input type="checkbox" name="color[]" id="color" value="black"> <input type="submit" value="submit"> </form>
<?php $name = $_GET['color']; // optional // echo "You chose the following color(s): <br>"; foreach ($name as $color){ echo $color."<br />"; } ?>
假设选择了红色,绿色,蓝色和青色作为颜色,将显示如下:
红色 绿色 蓝色 青色
您还可以检查是否选择了颜色。如果未选择任何内容,则将显示单独的消息。
<?php $name = $_GET['color']; if (isset($_GET['color'])) { echo "You chose the following color(s): <br>"; foreach ($name as $color){ echo $color."<br />"; } } else { echo "You did not choose a color."; } ?>
要显示为列表:(<ul></ul>可以替换为<ol></ol>)
<ul></ul>
<ol></ol>
<?php $name = $_GET['color']; if (isset($_GET['color'])) { echo "You chose the following color(s): <br>"; echo "<ul>"; foreach ($name as $color){ echo "<li>" .$color."</li>"; } echo "</ul>"; } else { echo "You did not choose a color."; } ?>