有人能给我解释一下这个PHP示例代码吗?

有人能给我解释一下这个PHP示例代码吗?,php,html,Php,Html,我正在w3school独立学习PHP和HTML,我不理解以下代码:从w3school复制的 1 <!DOCTYPE html> 2 <html> 3 <body> 4 5 <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 6 Name: <input type="text" name="fname"> 7 <input

我正在w3school独立学习PHP和HTML,我不理解以下代码:从w3school复制的

1  <!DOCTYPE html>
2  <html>
3  <body>
4
5  <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
6    Name: <input type="text" name="fname">
7    <input type="submit">
8  </form>
9
10 <?php
11 if ($_SERVER["REQUEST_METHOD"] == "POST") {
12     // collect value of input field
13     $name = $_POST['fname']; 
14     if (empty($name)) {
15         echo "Name is empty";
16     } else {
17         echo $name;
18     }
19 }
20 ?>
21 
22 </body>
23 </html>

Q1:为什么我可以,我应该如何插入PHP代码在一堆HTML代码中间,比如在第5行中的示例?我应该看什么话题来更多地了解这种操作

问题2:在第10行之后的PHP代码中,为什么我要包含一个if语句来决定请求方法是否为POST?我不能直接转到另一个if条件吗,就像在一个复选框中,文本框是空的

感谢您的帮助:

问题1的答案:

您可以在HTML文档中的任意位置添加php代码。你必须使用结束。 对问题2的答复:

您必须包含一个if语句来决定请求是否为POST,因为您已经在表单中给出了POST方法。您可以从中了解有关窗体及其属性的更多信息

您必须在此页面中编写PHP代码,因为您在action属性中提到了$_SERVER['PHP_SELF'],这意味着您的所有表单数据都将通过POST方法发送到此SELF页面。 -您可以从中了解该方法


您可以在html文档中的任意位置插入php代码开头。代码是从哪里复制的?如我所述,我是从w3school复制的。@SanzeebAryal谢谢。我忽略了这一点。你能解释一下为什么是这样写的吗?@YuyangHuang为什么写在双引号里?您可以将其解释为action=,如果您正在处理的文件名是index.php,那么输出将是:action=index.php。但是您可以开始在双引号内编写代码,这样更容易解释