如何将HTML表单多个选定的选项分配给PHP变量?

时间:2016-01-17 18:14:42

标签: php html forms

我有带有多个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变量但不是多选项。

1 个答案:

答案 0 :(得分:1)

由于您说您使用的是帖子请求,$_GET['place']无法正常工作。因此,使用$_POST['place']代替,您可以使用implode()

将数组的值粘贴在一起
$locations = implode(' ', $_POST['place']);