0

テキストボックスの値を受け取るように割り当てられたフォームの条件付き if から変数を取得したい:

<form action="" method="POST">
    <input type="text" name="name">
    <input type="submit" value="Click Here!" name="submit">
    <?php
        if (isset($_POST['submit'])) {
            $name = $_POST['name'];
            echo "<br /><input type=\"submit\" value=\"Show it!\" name=\"show\">";
        }

        if (isset($_POST['show'])) {
            echo $name; //i got "Notice: Undefined variable: name" here
        }
    ?>
</form>

$nameinput:name を押した後の値を表示したい。

4

2 に答える 2

1

これで問題は解決するはずです

    $name = "";

    if (isset($_POST['submit'])) {
        $name = $_POST['name'];
        echo "<br /><input type=\"submit\" value=\"Show it!\" name=\"show\">";
    }

    if (isset($_POST['show'])) {
        echo $name;
    }

コードの問題は、スコープが$name最初の if に限定されていることです

于 2012-09-15T08:26:58.710 に答える
0

こんにちは、stackoverflowへようこそ。

2つのステップでフォームを作成する場合は、「名前」の値を中間フォームに保存する必要があります。

<form action="" method="POST">                                                                                             
    <input type="text" name="name">                                                                                        
    <input type="submit" value="Click Here!" name="submit">                                                                
    <?php
    if (isset($_POST['submit']))
    {
        $name = htmlentities($_POST['name']);
        echo "<input type=\"hidden\" value=\"{$name}\" name=\"name\">";
        echo "<br /><input type=\"submit\" value=\"Show it!\" name=\"show\">";
    }

    if (isset($_POST['show']))
    {
        $name = htmlentities($_POST['name']);
        echo $name;
    }
    ?>                                                                                                                     
</form>  

指摘すべきいくつかのこと:

  • 「hidden」タイプのフィールドに$nameを保存します
  • そのような方法であなたは2番目のステップでそれを回復することができます
  • htmlentities()関数も確認する必要があります

お役に立てれば!

ここで試してみてください

于 2012-09-15T08:34:32.520 に答える