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>

我想显示$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,

如果您想分两步制作表单,则需要将“名称”值存储在中间表单中。

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

需要指出的几点:

  • 在“隐藏”类型的字段中,您存储您的 $name
  • 这样您就可以在第二步中恢复它
  • 你还应该看看htmlentities()函数

希望这可以帮助!

在这里试试

于 2012-09-15T08:34:32.520 回答