Я пытаюсь создать программу, которая распечатывает массив из пяти введенных пользователем элементов. Каждое поле ввода должно принимать значение от пользователя, сохранять его в массиве и распечатывать это значение массива. Однако значения сбрасываются и становятся нулевыми при вводе текста в следующее поле ввода. Вы можете понять, что я имею в виду, посмотрев на сайт.
https://people.emich.edu/ghaines1/cosc231/stringReverse.php
В конце концов я хочу также распечатать значения строк в обратном порядке. Я уверен, что это довольно просто, но я еще не изучал это, так как мне нужно, чтобы эта первая часть работала в первую очередь.
Так что в идеале часть PHP должна распечатываться:
$ ввод [0]
$ ввод [1]
$ ввод [2]
$ ввод [3]
$ ввод [4]
при условии, что он сохранил эти значения. Опять же, моя проблема заключается в том, что я не могу напечатать более одного значения, потому что они сбрасываются и становятся нулевыми, когда я ввожу значение в следующее текстовое поле. Вот код:
<form action = "stringReverse.php" method = "post">
<input name = "st1" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
</form>
<form action = "stringReverse.php" method = "post">
<input name = "st2" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
</form>
<form action = "stringReverse.php" method = "post">
<input name = "st3" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
</form>
<form action = "stringReverse.php" method = "post">
<input name = "st4" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
</form>
<form action = "stringReverse.php" method = "post">
<input name = "st5" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"]= = "POST") {
$input = array (0, 0, 0, 0, 0);
if (is_null($_POST["st1"]) == false) {
$input[0] = $_POST["st1"];
echo $input[0] . "<br>";
}
if (is_null($_POST["st2"]) == false) {
$input[1] = $_POST["st2"];
echo $input[1] . "<br>";
}
if (is_null($_POST["st3"]) == false) {
$input[2] = $_POST["st3"];
echo $input[2] . "<br>";
}
if (is_null($_POST["st4"]) == false) {
$input[3] = $_POST["st4"];
echo $input[3] . "<br>";
}
if (is_null($_POST["st5"]) == false) {
$input[4] = $_POST["st5"];
echo $input[4] . "<br>";
}
}
?>






это потому, что вы определяете форму для каждого ввода
изменить html на:
<form action = "stringReverse.php" method = "post">
<input name = "st1" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
<input name = "st2" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
<input name = "st3" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
<input name = "st4" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
<input name = "st5" type = "text" size = "50" placeholder = "Enter phrase"><br><br>
</form>