输入的PHP值在输入后保持重置

时间:2019-04-01 19:12:46

标签: php post input

我正在尝试创建一个程序,该程序可以打印出五个由用户输入的元素组成的数组。每个输入框应从用户那里获取一个值,将其存储在数组中,然后打印出该数组的值。但是,当您在下一个输入框中输入文本时,这些值将重置并变为空。您可以通过查看该网站来了解我的意思。

https://people.emich.edu/ghaines1/cosc231/stringReverse.php

我最终也想反向打印字符串的值。我敢肯定这很容易,但是我还没有研究它,因为我需要这第一部分来首先工作。

因此理想情况下,PHP部分应打印出来:

$ input [0]

$ input [1]

$ input [2]

$ input [3]

$ input [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>";
    }

}
?>

1 个答案:

答案 0 :(得分:2)

它是因为您正在为每个输入定义一个表单

将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>