Задать вопрос
@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
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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>";
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽