Значение массива повторно инициализируется при отправке формы с использованием php

#php #html #css

Вопрос:

Я хочу создать список элементов и просто отобразить его. Для этого я создал массив и форму с добавлением элемента «текстовое поле» и кнопкой «отправить».

Проблема в том, что когда я добавляю новое значение, нажав на кнопку «отправить», страница перезагружается, а ранее добавленные значения теряются. Я хочу, чтобы ранее добавленные значения сохранялись, не сохраняя эти данные в базе данных.

Пожалуйста, помогите мне, я новичок в этой области.

Код :

 <?php
  session_start();
?>

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>PHP ItemList</title>
  </head>
  <body>
    <div class="container">
      <?php
          $itemList = array();
          if ( $_SERVER["REQUEST_METHOD"] == "POST") {
                array_push( $itemList, $_POST["Item"] );
                print_r( $itemList );
          }
      ?>
       <h3>Add : </h3>
       <form  method="POST" action = "index.php">
         <p>Item : <input type="text" name="Item"></p>
         <input type="submit" name="submit" value="submit">
       </form>
    </div>
  </body>
</html>
 

Комментарии:

1. Вы ищете сеансы .

2. Большое вам спасибо за ваш ответ, не могли бы вы, пожалуйста, объяснить, чего мне не хватает? @El_Vanja

3. Запросы изолированы. Следующая отправка ничего не знает о данных из предыдущей. Чтобы ваше приложение запомнило состояние, вы должны где-то сохранить эти данные. Поскольку вы упомянули, что вам не нужна база данных, следующими вариантами являются либо файлы, либо сеансы. И я чувствую, что сеанс может соответствовать вашим потребностям лучше, чем файл.

4. Большое вам спасибо, я бы занялся этим, ваша помощь очень много значит для меня @El_Vanja

5. Потому что вы всегда инициализируете сеанс как пустой массив: $_SESSION[ 'itemList' ] = array(); .