【问题标题】:PHP contact form returning the PHP code when I press the submit button当我按下提交按钮时,PHP 联系表单返回 PHP 代码
【发布时间】:2015-08-07 15:28:51
【问题描述】:

我为我的网站创建了一个联系表。当我单击提交按钮时,它只显示 PHP 代码而不是它应该显示的消息,例如用户输入表单的文本信息。

这是表单的 HTML 代码:

<html>
    <link href="contact.css" rel="stylesheet" type="text/css" />
    <head>
        <title>Contact Us</title>
    </head>

    <body>
        <form action="contact.php" method="post">
            <div id="ContactForm">
                <fieldset>
                    <h4>Contact Parquest:</h4>

                    <label class="labelone" for="name">Name:</label>
                    <input name="name"/>

                    <label for="email">Email: </label>
                    <input name="email"email"/>

                    <label for="commens">Comments: </label>
                    <textarea name="commens"></textarea>
                </fieldset>
                <fieldset>
                    <input class="btn" type="submit" value="Send Email"/>
                    <input class="btn" type="reset" value="Reset Form"/>
                </fieldset>
        </form>
        </div>
</html>

我无法发布 PHP 代码,因为它只是在我尝试时不显示,所以这里是一个屏幕截图:

【问题讨论】:

  • 您应该在 HEAD 标记中包含 CSS 文件...虽然这不是您的问题。什么是“contact.php”,它的源代码在哪里?要包含 php 代码,请将其放入 Notepad++ 中并全选并添加一个额外的缩进(制表符),以便所有内容至少缩进一次。然后将其粘贴到 SO 中。记住,您需要 4 个空格来添加代码在这里格式化。因此,如果它破坏了您的问题,那么您有一些东西破坏了 4 个空格,所以 SO 不知道它是代码。
  • 我附上了php文件的截图
  • 你的服务器是否启用了php模块?
  • Starkeen,我该如何启用它?
  • 正如另一位用户所说,您有一个错字 ($commets = $_POST['cmets']),当您回显 $cmets 时会引发错误,因为未声明 $cmets。所以我的第一个预感是你关闭了错误报告并且你只是得到一个白屏。在开发中,您的错误报告应设置为 E_ALL,以便您可以查看所有错误以修复您的代码..

标签: php html forms


【解决方案1】:

您的代码没有问题..问题出在您的环境中..我猜您没有通过服务器运行 html 文件..

如果您浏览器上的网址如下所示:

file:///c:/path/to/your/file/page.html

那么你这样做..为了运行.php脚本,你需要一个像apache或nginx这样的网络服务器......的url应该像这些

http://localhost/path/to/file/page.html

那么 php 文件应该会按预期运行..

php 文件是解释性脚本语言,因此它需要服务器中的解释器才能运行.. 如果只是在没有服务器的浏览器中浏览它,它只会输出里面的代码..

【讨论】:

    【解决方案2】:

    您需要一个 Web 服务器来运行 php 脚本。 尝试安装 wamp,然后在 localhost 下运行您的页面。

    【讨论】:

      【解决方案3】:

      我已经执行了给定的代码。它在我的本地服务器上运行良好。按照惯例,它应该打印 contact.php 上表单发布的值输入。

      但我在您的 PHP 代码中注意到的是变量名称是 $commets,而不是 $comments

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题,即使我的电脑上正在运行 appache 和 mysql。 在 html 文件中,我写道: 表单操作="http://localhost/file.php" 方法="POST" 代替 : form action="file.php" method="POST"

        【讨论】:

          【解决方案5】:

          似乎只有在下载 wampserver 并打开所有服务时才能将 HTML 表单连接到 php 文件...

          这对我来说是这样的:

          您可以从这里下载 wampserver:http://www.wampserver.com/en/(按照说明操作) 我将它保存到计算机上的 C: 驱动器。

          接下来,您可以在您放入任何驱动器的 wamp 文件夹的“www”文件夹中创建一个 php 文件和一个 html 文件。将表单代码复制到 HTML 文件中,并将 php 代码复制到 php文件。

          最后,转到“localhost/yourhtmlname.html”并填写表格。它应该可以正常工作。

          【讨论】:

            猜你喜欢
            • 2018-07-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-21
            • 2018-02-12
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多