PHP - 表单问题

Yesterday I started my first PHP course. Today reached an impediment in an apparently farily simple task I would appreciate your assistance with.

I have two files: index.php and function.php

Index.php contains the following code:

    <form action="functions.php" method='POST'>
        Insert name: <input type="text" name="name"><br>
        Insert age: <input type="text" name="age"><br>
        <input type=submit value="GO!" onclick="displayNameAndAge()">
    </form>

Via

require 'functions.php';

i include functions.php which contains one single function:

  function displayNameAndAge() {
      if (isset($_POST["name"])) {
        echo $_POST["name"];
      }
      if (isset($_POST["age"])) {
        echo $_POST["age"];
      }
  }

Hence, after filling in the inputs specified in the form, I expect that clicking the button will get the data via the $_POST variable and display the data on the page. Where I did wrong, where am I misunderstanding the tutorial? Thank you in advance.

You are actually mixing php code with jQuery. Php doesn't have any onclick function/event. I have made some changes so try this code.

<form action="functions.php" method='POST'>
    Insert name: <input type="text" name="name"><br>
    Insert age: <input type="text" name="age"><br>
    <input type=submit value="GO!" name="submit">
</form>

in functions.php

 if (isset($_POST["submit"])) {
  if (isset($_POST["name"])) {
    echo $_POST["name"];
  }
  if (isset($_POST["age"])) {
    echo $_POST["age"];
     }
  }

I don't know why and where do you use require 'functions.php';. If you do it in your index.php page then remove it. You form will automatically send data and take you to functions.php page

The onclick is HTML event attribute. It cannot call PHP function. As HTML runs on browser i.e. client and PHP runs on server.

What you can do is:

Add another file say post.php as by the name functions.php this file is supposed store the function definitions:

require 'functions.php';

displayNameAndAge();

The HTML should look like:

<form action="post.php" method='POST'>
    Insert name: <input type="text" name="name"><br>
    Insert age: <input type="text" name="age"><br>
    <input type=submit value="Go!" name="submit">
</form>