Множественный выбор слект HTML форма -- почему не отправляется массив, а только одно значение в $_POST php multiple select

Чтобы на стороне сервера принять массив значений -- используйте имя с квадратными скобками, например:

 name="groups[]"

то есть атрибут name элемента ввода HTML формы должен выглядеть как-то так:

<select name="groups[]" multiple="" size="10">
	<option value="2">Мужчины 18-24</option>
	<option value="3">Женщины 18-24</option>
	<option value="4">Мужчины 25-34</option>
	<option value="5">Женщины 25-34</option>
</select>

Пояснения:

  • Чтобы указать что опция выбрана -- к ней достаточно добавить атрибут:
    selected="selected"
  • Атрибут:
    multiple=""

    позволяет выбирать сразу несколько значений

  • Атрибут:
     size="10"

    -- указывает сколько пунктов отображать "сразу" (до того как вы кликнули по элементу -- поэкспериментируйте с этим значением, обновляя страницу в браузере)

По аналогии с этим.