Как сохранить выбранную опцию в выпадающем списке, даже перейдя на другую страницу в php? - PullRequest
0 голосов
/ 30 марта 2020

Предположим, что этот код находится внутри тега формы с методом post

  <label>Course</label>
                    <select name="course" class="form-control" id="course">
                        <option value="0">Select a course</option>
                        <?php
                        while($rows=mysqli_fetch_assoc($result)) {
                         $courses=$rows['course_desc'];
                         echo "<option value='$courses'>$courses</option>"; 
                        }
                        ?>
                      </select>

<button class="btn btn-primary btn-block m-1" name="btnconfirm" >Confirm</button>

код на второй странице

<form method="post">
<table>
<tr>
<td><?php echo $_POST["course"]?></td>
</tr>
</table>
<button class="btn btn-primary btn-block m-1" name="cancel" >Cancel</button>
</form>

php код для кнопки только как этот заголовок

if(isset($_POST["cancel"])){
header("Location:firstpage.php");
}

как сохранить выбранную опцию, даже если я go перешел на другую страницу, потому что при нажатии btnconfirm он go переходит на другую страницу и отображает выбранные элементы, между выпадающим списком курса и btnconfirm У меня есть несколько выпадающих списков, которые зависят от выпадающего списка курса, цель этого состоит в том, что если пользователь не выберет что-то, что он / она может нажать Отмена и go вернуться к страница и его / ее выбранные элементы все еще там. Я хочу, чтобы пользователь не беспокоился, выбирая элементы, которые он / она хочет снова

1 Ответ

0 голосов
/ 30 марта 2020

РЕДАКТИРОВАТЬ: Хорошо, я вас не понимаю. Точка находится на вашей второй странице, чтобы опубликовать выбранное вами значение сначала в скрытом поле ввода. И когда вы нажмете «Отмена», это поле будет возвращено на первую страницу, где вы можете отобразить его как выбранный вариант в раскрывающемся списке.

Если вы сохраните эти два сценария в качестве теста. php и test2. php и загрузите его на свой сервер, вы увидите, что вы можете go назад и вперед, когда вы будете sh.

Вам просто нужно внедрить это в свою полную страницу.

Рабочий пример:

тест. php

<form method="POST" action="test2.php">
<label>Course</label>
<select name="course" class="form-control"  id="course">
 <?php
  $choice = $_POST['cancel'];
  echo '<option selected value="' . $choice .'">' . $choice . '</option>';
    ?>
    <?php
    while($rows=mysqli_fetch_assoc($result)) {
     $courses=$rows['course_desc'];
     echo "<option  value='$courses'>$courses</option>"; 
    }
    ?>
    <option value='test'>Test</option>
    <option value='test2'>Test2</option>
    <option value='test3'>Test3</option>
  </select>
  <button class="btn btn-primary btn-block m-1"  type="POST" >Confirm</button>
  </form>

тест2. php

<form method="POST" action="test.php">
<table>
<tr>
    <td>
    <?php
    $course = $_POST['course'];
    echo $course;
    ?>
    <input hidden name="cancel" value="<?php echo $course ?>">
    </td>
</tr>
</table>
<button class="btn btn-primary btn-block m-1" >Cancel</button>
</form>
...