我如何使用输入字段使变量工作?

How do i make the variable work using the input field?

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <h3>MAD LIBS</h3>
    <?php
      if (isset($_POST['submit'])) {
        $color = $_POST['color'];
        $pluralNoun = $_POST['pluralNoun'];
        $celebrity = $_POST['celebrity'];
      }

      echo "Roses are " . $color;
      echo $pluralNoun . " are Blue";
      echo "I love " . $celebrity;
     ?>

    <form action="site.php" method="post">
      Color: <input type="text" name="color"> <br>
      Plural Noun: <input type="text" name="pluralNoun"> <br>
      Celebrity: <input type="text" name="celebrity"> <br>
      <input type="submit" name="submit"> <br>
    </form>



    <!-- <?php
      if (isset($_POST['color']) && isset($_POST['pluralNoun']) && isset($_POST['celebrity'])) :
        echo "Roses are " . $_POST['color'] . "<br>";
        echo $_POST['pluralNoun'] . " are Blue <br>";
        echo "I love " . $_POST['celebrity'];
      endif;
     ?> -->

  </body>
</html>

大家好,我是 PHP 的新手。你们能帮我如何让这段代码工作吗?我注释掉的底部 php 代码正在运行。但我想使用第一个 php 代码,这样我就可以使用变量调用 ($_POST[''])。但是在网站上显示:

Warning: Undefined variable $color in C:\xampp\htdocs\webProgramming\site.php on line 16 Roses are Warning: Undefined variable $pluralNoun in C:\xampp\htdocs\webProgramming\site.php on line 17 are Blue Warning: Undefined variable $celebrity in C:\xampp\htdocs\webProgramming\site.php on line 18 I love

对不起我的英语不好,这不是我的第一语言。我希望你明白我的问题的意思。

对于代码的顶部,您有 2 个解决方案

  1. 全部放在if语句中

     if (isset($_POST['submit'])) {
         $color = $_POST['color'];
         $pluralNoun = $_POST['pluralNoun'];
         $celebrity = $_POST['celebrity'];
    
         echo "Roses are " . $color ."<br>";
         echo $pluralNoun . " are Blue <br>";
         echo "I love " . $celebrity ."<br>";
     }
    
  2. 或者你可以使用三进制

    if (isset($_POST['submit'])) {
        $color = $_POST['color'];
        $pluralNoun = $_POST['pluralNoun'];
        $celebrity = $_POST['celebrity'];
    }
    
    echo "Roses are " . ($color ?? "[valu not set]") ."<br>";
    echo ($pluralNoun ?? "[valu not set]") . " are Blue" ."<br>";
    echo "I love " . ($celebrity ?? "[valu not set]") ."<br>";