#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();
.