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 происходит не три раза, а больше?