Сохранение выбранного элемента в php после отправки в форму - PullRequest
0 голосов
/ 16 мая 2018

Как сохранить выбранный элемент выбранным через PHP?я сделал то же самое с радиокнопками, и это сработало.единственное, что я изменил, было изменено «отмечено» на «выбрано», как мне было рекомендовано.

Вот мой PHP:

if (empty($_POST["favFruit"])) {
    $favFruitErr = "You must select 1 or more";
  }
  else {
    $favFruit = $_POST["favFruit"];
  }

А вот моя форма:

<select class=favfruitwindow name="favFruit[]" size="4" multiple>
          <option <?php if (isset($favFruit) && $favFruit == "apple") echo "selected"; ?> value="apple">Apple</option>
          <option <?php if (isset($favFruit) && $favFruit == "banana") echo "selected"; ?> value="banana">Banana</option>
          <option <?php if (isset($favFruit) && $favFruit == "plum") echo "selected"; ?> value="plum">Plum</option>
          <option <?php if (isset($favFruit) && $favFruit == "pomegranate") echo "selected"; ?> value="pomegranate">Pomegranate</option>
          <option <?php if (isset($favFruit) && $favFruit == "strawberry") echo "selected"; ?> value="strawberry">Strawberry</option>
          <option <?php if (isset($favFruit) && $favFruit == "watermelon") echo "selected"; ?> value="watermelon">Watermelon</option>
        </select>

1 Ответ

0 голосов
/ 16 мая 2018

$favFruit будет массивом даже при выборе одного параметра и пустым, если ничего не выбрано.

print_r($_POST["favFruit"]); вернется Array ( [0] => banana [1] => plum )

Вам нужно посмотреть, существует ли элемент в массиве, и выбрать на основе этой проверки.

<select class=favfruitwindow name="favFruit[]" size="4" multiple>
    <option <?php if (isset($favFruit) && in_array('apple', $favFruit)) echo "selected"; ?> value="apple">Apple</option>
    <option <?php if (isset($favFruit) && in_array('banana', $favFruit)) echo "selected"; ?> value="banana">Banana</option>
    <option <?php if (isset($favFruit) && in_array('plum', $favFruit)) echo "selected"; ?> value="plum">Plum</option>
    <option <?php if (isset($favFruit) && in_array('pomegranate', $favFruit)) echo "selected"; ?> value="pomegranate">Pomegranate</option>
    <option <?php if (isset($favFruit) && in_array('strawberry', $favFruit)) echo "selected"; ?> value="strawberry">Strawberry</option>
    <option <?php if (isset($favFruit) && in_array('watermelon', $favFruit)) echo "selected"; ?> value="watermelon">Watermelon</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...