HTML+PHP如何防止网页在按下提交按钮之前显示任何内容


HTML + PHP how to prevent webpage from displaying anything until submit is pressed

我是HTML和PHP的新手,在处理一些简单项目时遇到了一个问题。假设我的网页上有一个文本栏,我想在用户输入一些文本并按下提交按钮后,在网页上显示文本栏中写的文本。我的问题是网页在第一次加载时显示输出。有没有一种方法可以防止php代码在按下提交键之前执行?

这是一个示例代码,表明我所指的问题

<html>
    <body>
        <form action="./index.php" method="GET">
            First Name: <input type="text" name="first" maxlength="50"><br/>
            <input type="submit" value="GO"/>
        </form>

    </body>
</html>

<?php
    $text_var = $_GET[first];
        echo "This was typed into text bar" . $text_var;
?>

因此,当网站加载时,"这是在文本栏中键入的"会立即输出。我希望它只有在按下提交按钮后才能输出。

谢谢。

您需要将其拆分,如果没有提交任何内容,则应显示表单,因此请检查值或提交按钮请确保保留html格式。查看标签标签来描述表单输入

<html>
    <body>
        <form action="./index.php" method="GET">
            <label for="first">First:</label>
            <input id="first" type="text" name="first" maxlength="50"><br/>
            <input type="submit" value="GO"/>
        </form>
<?php
if (!empty($_GET['first'])) {
  //take care you escape things never output user input (XSS)
  $op = htmlspecialchars($_GET['first']);
  echo "This was typed into text bar" . $op;
}
?>
    </body>
</html>

检查$_GET['first']是否存在。这通常如下所示:

查看

<form action="index.php" method="post">
  <!-- input fields here -->
  <input type="submit" name="submit" value="GO"/>
</form>

控制器

<?php
if (isset($_POST['submit'])) {
  // process post
} else {
  // display the form
}
<?php
  if(isset($_GET['submit'])){
    $text_var = $_GET[first];
        echo "This was typed into text bar" . $text_var;
  }
?>