我有带有多个select元素的HTML表单,让用户从列表中选择多个选项进行提交。表单方法是POST
,它将表单发布到PHP文件。我想通过阅读这个How to get multiple selected values of select box in php?来了解如何echo
多个选定的选项,但是我无法将这些值作为字符串写入变量,并且在每个选项值之间有空格。是否可以在不使用数组的情况下实现这一目标?
这是我的HTML代码:
<select name="place[]" id="place" multiple>
<optgroup label="Ottawa">
<option value="London">London</option>
<option value="Toronto">Toronto</option>
<option value="Windsor">Windsor</option>
</optgroup>
<optgroup label="Alberta">
<option value="Brooks">Brooks</option>
<option value="Calgary">Calgary</option>
<option value="Cold Lake">Cold Lake</option>
</optgroup>
</select>
这是PHP代码:
<?php
foreach ($_GET['place'] as $selectedOption)
echo $selectedOption."\n";
?>
以上代码仅echo
值,但未将其作为字符串赋值给变量。我可以简单地使用$locations =
代替echo
吗?
注意:有很多问题和答案,它们展示了如何将选择值分配给PHP变量但不是多选项。
答案 0 :(得分:1)
由于您说您使用的是帖子请求,$_GET['place']
无法正常工作。因此,使用$_POST['place']
代替,您可以使用implode()
:
$locations = implode(' ', $_POST['place']);