Сохранение выбранных значений в поле в Select2

Всем привет! Я использую плагин Select2 для выбора значений. Я выбираю значения, они красиво вставляются в input. Но при отправке формы я перехожу на другую страницу и у меня должна быть возможность вернуть на страницу с выбором из select с сохранением заполненных мной полей. Они как бы выбраны, но почему-то не отображаются в инпуте.введите сюда описание изображения

И если выбрать какое-то поле, то и прошлые отобразятся сразу же, и новые Вот, например, если выбрать третье значение, то и 2 прошлых тоже отобразятся введите сюда описание изображения

Не подскажите, как сделать так, чтобы при возврате страницы, сразу же отображались введенные раннее значения в инпутах?

<select id="e20" name="know[]" multiple="multiple">
    <option data-badge="">Систематизировать</option>
    <option data-badge="">Собирать</option>
    <option data-badge="">Определить</option>
    <option data-badge="">Описать</option>
  </select>

<script>
     $("#e20").select2({
      tags:[],
      tokenSeparators: [",", " "]});
</script>

Вот начало формы

 <form method="POST" action="upload1.php" class="dropzone" id="dropzoneFrom" enctype="multipart/form-data">

То есть при нажатии переходим на upload1.php и нужно, чтобы при возвращении на index.php сохранялись значения в input.

Реализация input в JS

Search.prototype.render = function (decorated) {
var $search = $(
'<li class="select2-search select2-search--inline">' +
'<input class="select2-search__field" type="search" tabindex="-1"' +
' autocomplete="off" autocorrect="off" autocapitalize="none"' +
' spellcheck="false" role="searchbox" aria-autocomplete="list" />' +
'</li>'
);

Ответы (1 шт):

Автор решения: Denis640Kb

Первый файл:

<?php
if(isset($_COOKIE['select'])){
    $val1 = $_COOKIE['select']; // Получаем куки, если он есть.
    $val = json_decode($val1); // Преобразуем в массив.
}  else {
    $val = []; // Если куки нет, то пустой массив.
}
print_r($val); // Это для демонстации сохранения данных при возврате (После теста удалите).
?>

<form method="POST" action="upload1.php" class="dropzone" id="dropzoneFrom" enctype="multipart/form-data">
    <select id="e20" name="know[]" multiple="multiple">
        <option data-badge="" <?php if(in_array('Систематизировать', $val)){ echo "selected";}?>>Систематизировать</option>
        <option data-badge="" <?php if(in_array('Собирать', $val)){ echo "selected";}?>>Собирать</option>
        <option data-badge="" <?php if(in_array('Определить', $val)){ echo "selected";}?>>Определить</option>
        <option data-badge="" <?php if(in_array('Описать', $val)){ echo "selected";}?>>Описать</option>
    </select>
    <button formmethod="post">Отправить</button>
</form>

Второй файл - upload.php


if(isset($_POST['know'])){ //Получаем данные селекта
    $val1 = $_POST['know']; // Сохраняем в переменную
    $val = json_encode($val1); // Кодируем массив в строку
    setcookie("select", $val); // Сохраняем в куки.
}
→ Ссылка