繁体   English   中英

从另一个条件块获取变量

[英]Get variable from another conditional block

我想从有条件的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>

我想在输入input:name之后显示$name值。

这应该解决问题

    $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

您好,欢迎来到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()函数

希望这可以帮助!

在这里尝试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM