2

2 つの入力フォームがあり、2 番目のフォームが送信されても​​ページに残りたいと考えています。

<div id="first">
    <form method="POST">
        Number: <input type="text" name="number"><br>
        <input type="submit" value="Submit">
    </form><br>
</div>

<div id="second">
    <?php
    if (isset($_POST['number']) && !empty($_POST['number'])){
        ?>
        <form method="POST">
            Name: <input type="text" name="name"><br>
            <input type="submit" value="Submit">
        </form><br>
        <?php
    }
    ?>
</div>

<div id="third">
    <?php
    if (isset($_POST['name']) && !empty($_POST['name'])){
        echo "TEST";
    }
    ?>
</div>

$_POST['number'] が空でないため、最初のフォームを送信すると、2 番目のフォームが正しく表示されます。しかし、「番号」の内容は提出するとすぐに消えてしまいます。

次に、2 番目のフォームを送信すると、「TEST」という単語は正しく表示されますが、最初のフォームの $_POST['number'] が空になったため、フォーム自体が消えます。

2 番目の形式が消えないように、最初の形式で数値の値を保存する方法を見つける必要があります。

助言がありますか?

4

1 に答える 1

1

隠しフィールドを追加できます:

<input type="hidden" name="number" value="<?php echo $_POST['number']; ?>">

次に、2 番目のフォームは次のように変更されます。

<form method="POST">
    Name: <input type="text" name="name"><br>
    <input type="hidden" name="number" value="<?php echo $_POST['number']; ?>">
    <input type="submit" value="Submit">
</form
于 2013-07-28T07:46:45.820 に答える