如何制作“;MadLibs”;提交后,表单结果将显示在表单字段下方


How to make "MadLibs" form results appear below form fields after submitting?

提前感谢您的帮助。在发布这篇文章之前,我已经搜索了很多,但最终我比刚开始时更困惑:)

我试图让一个页面包含表单字段,在按下提交后,生成的故事中插入了用户的表单字段条目。

最好保留表单字段中的文本,这样用户在需要更改一两个单词时就不需要重新键入所有内容。

我真的很感激你的帮助。希望这能同时帮助很多人。

<html>
  <head>
    <title>My MadLib</title>
  </head>
    <body>
      <h1>MadLib</h1>
         <?php  if (isset($_POST['action']) && $_POST['action'] == "show"): ?>
  <p>Hello, I am a <?php  echo $_POST['adj']  ?> computer that owns a <?php  echo $_POST['noun']  ?>.</p>
    <?php else : ?>
      <form action="madlib.php" method="post">
        <input type="hidden" name="action" value="show">
          <p>An adjective: <input type="text" name="adj"></p>
    **strong text**      <p>A noun: <input type="text" name="noun"></p>
          <p><input type="submit" value="Go!"></p>
      </form>
    <?php  endif  ?>
  </body>
</html>

正如您所说,您不想"保持简单",您可以简单地将所需的value属性添加到每个<input>,如下所示:

<html>
  <head>
    <title>My MadLib</title>
  </head>
    <body>
      <h1>MadLib</h1>
<?php
if (isset($_POST['action']) && $_POST['action'] == "show") {
?>
      <p>Hello, I am a <?php echo @$_POST['adj']; ?> computer that owns a <?php echo @$_POST['noun']; ?>.</p>
<?php
} else {
?>
      <form action="madlib.php" method="post">
        <input type="hidden" name="action" value="show">
          <p>An adjective: <input type="text" name="adj" value="<?php echo @$_POST['adj']"; ?> /></p>
          **strong text**
          <p>A noun: <input type="text" name="noun" value="<?php echo @$_POST['noun']"; ?> /></p>
          <p><input type="submit" value="Go!"></p>
      </form>
<?php
}
?>
  </body>
</html>

请注意(有时不受欢迎)"@",以防止在$_POST['...']还不存在时触发通知。我还在您的<p>Hello...行中添加了相同的内容。