Я пытаюсь добавить новое животное в массив с помощью HTML-формы, а затем отображать содержимое массива каждый раз, когда пользователь вводит новое животное. Вот код, который у меня есть до сих пор. Это работает, просто новое животное не добавляется в список каждый раз, когда я нажимаю кнопку отправки. Он просто заменяет последний введенный.
<!DOCTYPE html>
<html lang = "en">
<head>
<title></title>
</head>
<body>
<form action = "" method = "POST">
What is your favorite animal?<br>
<input type = "text" name = "text" /><br><br>
<input type = "submit" value = "Add Animal" />
</form>
<h2>Animal List</h2>
<?php
echo $_POST['text'];
?>
</body>
Учитель уже прошел СЕССИИ?
@Quentin Вы совершенно правы, но поскольку этот студент, похоже, прошел только первый день курса, может быть немного преждевременно поразить его этой маленькой морщинкой :) Может быть, подождать, пока они не перейдут к пятому дню :) :)
Лучший вопрос «название» и первоначальная попытка поиска будут иметь «отправка формы php добавить в список» или подобное.






массив $_POST не сохраняет значения, каждый раз, когда вы отправляете форму, страница обновляется, и новый набор значений передается в массив. Вы можете сохранить значения в $_SESSION by saying $_SESSION['animals'][]=$_POST['text'], а затем каждый раз прокручивать сеанс, чтобы распечатать значения.
Я не думаю, что это действительно то, что вы будете делать в производственной среде, поскольку я думаю, что вы обычно сохраняете данные в своей базе данных, чтобы что-то с ними делать, но, конечно, я не знаю, какова ваша конечная цель :) но я думаю, вы пытаетесь изучить идею/концепцию, так что есть своего рода решение.
Вы также можете добавить скрытый ввод для его создания, я точно не помню, но что-то вроде этого:
<input type = "text" name = "text[]" />
foreach($_POST['text'] as $animal) {
echo '<input type = "hidden" name = "text[]" value = "' . $animal . '"/>';
}
создаст кучу скрытых входных данных с текущими значениями, затем, когда вы нажмете «Отправить» для нового значения, у вас будет массив значений для «текста» который вы можете затем прокрутить, чтобы вывести эхо.
Сессии были упомянуты, но мы не рассматриваем их в этом задании. Мы обсуждаем массивы.
Есть десятки способов решить эту проблему, однако, поскольку вы студент, вам разрешено использовать только тот материал, который вы преподали. Вам нужно будет найти способ сохранить введенную информацию либо в поле скрытый на вашей веб-странице, либо сохранить ее в какой-либо переменной сеанс, либо сохранить информацию в файле на диске и данные добавить в файл каждый раз, когда предоставляется новая информация.