这是“回声”必要吗?

时间:2013-11-06 03:31:52

标签: php

我最近获得了编程PHP,第3版的副本,在第10页,我看到一个“回声”让我产生怀疑。

<html>
<head>
    <title>Personalized Greeting Form</title>
</head>
<body>
    <?php if (!empty($_POST['name'])) {
        echo "Greetings, {$_POST['name']}, and welcome.";
    } ?>

    <form action="<? echo php $_SERVER['PHP_SELF']; ?>" method="post">
        Enter your name: <input type="text" name="name" />
        <input type="submit" />
    </form>
</body>

是必要的表格标签上的“回声”?我试过没有它,似乎工作得很好,但我不确定在那里保持“回声”是否真的很重要......

如果有人知道这一点,我会很感激!

谢谢你们!

5 个答案:

答案 0 :(得分:4)

这取决于您使用的HTML版本。

表单操作默认为当前URL。 根据标准:

  • HTML 4中是必填项,且必须为非空,因此您需要使用echoaction="#"才能使表单有效
  • HTML 5中,是必需的,但如果存在则必须为非空,因此在这种情况下,您根本不应定义actin并设为默认值工作

答案 1 :(得分:2)

如果响应脚本在同一个文件中,则无需在action=""参数中声明任何内容。所以,它不是。

答案 2 :(得分:2)

是&amp;没有。如果没有表单部分中的回显,则操作如下:

<form action="" method="post">

适用于HTML4&amp;下面。但这在HTML5标准中并不正确。不会验证。根据用于访问页面的浏览器,可能会阻塞它。如果你有action=那么它必须要有东西。在这种情况下,您可能会在其中添加#,如下所示:

<form action="#" method="post">

但这似乎是hacky&amp;可能不会出现面向未来。

避免HTML4和HTML之间的麻烦; HTML5最好让它通过echo将完整的网址放在那里。

答案 3 :(得分:0)

您需要echo

中的action

The best thing you can do is leave out the action attribute altogether. If you leave it out, the form will be submitted to the document's address, i.e. the same page.

答案 4 :(得分:0)

感谢所有回答我问题的人,帮助我理解这个问题!

现在我想邀请大家回答另一个问题:)

这更像是一个观点,而不是一个真实的问题:https://stackoverflow.com/questions/20081548/how-would-you-use-a-book-such-as-programming-php-to-truly-learn-php-from-the-g