Значения опций PHP Menu Select - PullRequest
       46

Значения опций PHP Menu Select

0 голосов
/ 17 октября 2018

У меня есть форма и раскрывающееся меню для пользователей, чтобы выбрать отраслевые вакансии как часть их поиска, например, Бухгалтерия, Строительство, Инженерия и т. Д.

Я искал на этом форуме решения относительно того, какпомните значения параметров меню выбора ПОСЛЕ отправки, и я благодарен, что реализовал измененную версию из решения, которое я нашел здесь: Самый простой способ запомнить выбор DropDown?

//For example

if(is_post_request()) {
  $jobsector['jobsector_id'] = $_POST['jobsector_id'] ?? '';
} else {
$jobsector['jobsector_id'] = '';
}


<div class="form-group">
  <label for="jobsector">Job Sector:</label>
  <select class="custom-select" name="jobsector_id" id="jobsector_id">
    <option value="">Select Sector</option>
    <?php
    $query = "SELECT jobsectors.id, jobsectors.jobsector_name FROM jobsectors";
    $results = mysqli_query($db, $query);

    $_SESSION['jobsector_id'] = $jobsector['jobsector_id'];
    $_POST['jobsector_id'] = $_SESSION['jobsector_id'];

    //loop
    foreach ($results as $jobsector): ?>
      <option value="<?php echo h($jobsector['jobsector_name']); ?>"
        <?php if ($jobsector['jobsector_name'] == $_POST['jobsector_id']){echo " selected";}?>>
        <?= $jobsector['jobsector_name']; ?>
      </option>
      <?php endforeach;
      unset ($_SESSION['jobsector_id']); ?>
  </select>
</div>

Однако яЯ столкнулся с проблемой, когда в меню выбираются значения параметров, которые у меня есть, ДО отправки формы, теперь отображается уведомление / ошибка:

Notice: Undefined index: jobsector_id

Вот снимок экрана: снимок экрана с неопределеннымуведомление об индексе

Я понимаю, что это произойдет потому, что значение POST для 'jobsector_id' еще не было отправлено вместе с формой, поэтому мой вопрос заключается в том, как получить параметры выбора меню для отображения ввыпадающий без этой ошибки, ДО отправки формы?

1 Ответ

0 голосов
/ 18 октября 2018

Я добавил сеанс для хранения значения 'jobsector_id', а затем сделал $ _POST ['jobsector_id'] = $ _SESSION ['jobsector_id'] и, наконец, сбросил сеанс.Кажется, теперь все работает нормально.Спасибо за ваши предложения, ребята!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...