Задать вопрос
@andrei2018

Где ошибка в коде?

1. Мне нужно было простое меню со множественным выбором... Вот так написал:
<form action="" method=post>
<select name="docs[]" size="3" multiple>
  <option <?= $_SESSION['AAA'] ?>  value="AAA" >AAAAAAAAA</option>
  <option <?= $_SESSION['BBB'] ?>  value="BBB" >BBBBBBBBB</option>
  <option <?= $_SESSION['CCC'] ?>  value="CCC" >CCCCCCCCC</option>
</select>
<input type="submit" name="search" value="Поиск">
</form>


if (isset($_POST['search'])){
	if (isset($_POST['docs'])){
	
		foreach ($_POST['docs'] as $v ){
			$_SESSION[$v] = 'SELECTED';
			echo "SESSION['AAA'] = ".$_SESSION['AAA']."<br>";
			echo "SESSION['BBB'] = ".$_SESSION['BBB']."<br>";
			echo "SESSION['CCC'] = ".$_SESSION['CCC']."<br>";
		}

	}
}

и ВСЕ работает
(Здесь код упрощен, в частности не показаны проверки на существование переменных при первом входе в сессию).

2. Почему, при выборе нескольких строк, вывод echo происходит не три раза, а больше?
5bc6106ba1568161276292.jpeg
  • Вопрос задан
  • 129 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@gracer
<option <?= $_SESSION['AAA'] ?>  value="CCC" >CCCCCCCCC</option>

ошибка 1

п.2
foreach ($_POST['docs'] as $v ){
      $_SESSION[$v] = 'SELECTED';
      echo "SESSION['{$v}'] = ".$_SESSION[$v]."<br>";
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы