【问题标题】:POST/GET in PHPPHP 中的 POST/GET
【发布时间】:2014-07-25 15:47:32
【问题描述】:

我有一个简单的 html 表单

 <!DOCTYPE html>
 <html>
 <form action="trial2.html" method="get">
 <input type="text" name="name">
 <input type="submit">
 </form>
 </html>

然后运行这个 trial2.html

<!DOCTYPE html>
<html>
<?php
$val = $_GET["name"];
echo($val);
?>
</html>

我不明白为什么 echo 不会打印出“名称”,尽管它可以打印出通用字符串

我一直在使用 w3schools 作为参考,但我认为我只是在某个地方很愚蠢/完全没有抓住重点。

【问题讨论】:

  • 您的文件是 .html 而不是 .php,我怀疑您是否为 .html 文件设置了 PHP,因为它效率很低。
  • 您的服务器是否设置为处理 html 文件中的 php?默认情况下,它不会。尝试更改扩展名,看看会发生什么。另外,如果name 为空会怎样?
  • 危险:此代码是vulnerable to XSS。用户输入在插入 HTML 文档之前需要转义!
  • 谁有更好的网站可以使用? (我现在也将删除链接)

标签: php html post web get


【解决方案1】:

.html 文件通常不包含 PHP 代码。

将您的文件重命名为 .php 扩展名并调整您的代码以指向重命名的文件,并将 echo 更改为:

echo $val;

【讨论】:

  • 一个 .html 文件 CAN 包含 PHP 代码,很多,但除非您配置服务器以处理.html 文件扩展名。
  • 好吧,你总是可以告诉 apache 将 html 文件作为 php 文件处理,但这不是重点......
  • 感谢您的快速回复!我将它重命名为 .php 但我仍然没有任何来自 echo 的输出
【解决方案2】:

大多数托管公司不会在 html 文档中启用嵌入式 PHP。因此,将文件保存为trial2.php 并将其上传到您的服务器。服务器将看到 PHP 扩展并执行它。 PHP 文件中的 HTML 代码呈现为 HTML。

【讨论】:

    【解决方案3】:

    我们不能在 .html 文件中运行 PHP,因为除非我们告诉它运行,否则我们的服务器不会运行它。为此,我们需要在您的 Web 根目录中创建一个 .htaccess 文件,并将这一行添加到其中:

    AddType application/x-httpd-php .htm .html
    

    否则只需将文件扩展名从 .html 更改为 .php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多