在哪里将PHP代码放入HTML文件(用于联系人表单)?

在哪里将PHP代码放入HTML文件(用于联系人表单)?,php,html,Php,Html,我有一个html文件(即index.html)。我有我的联系人表单的html代码(即姓名、电子邮件等字段)。如果可能的话,在不将index.html转换为index.PHP文件的情况下,我应该将PHP代码放在哪里 如果您希望解释php代码而不是显示php代码,那么在某种程度上,响应该文件请求的http服务器必须知道这意味着要开始解释代码。通常使用文件扩展名.php完成 您当然可以配置http服务器,以便在请求.html文件时执行相同的操作。但这将是一个非常糟糕的方法。不要这样做 因此,请将您的文

我有一个html文件(即index.html)。我有我的联系人表单的html代码(即姓名、电子邮件等字段)。如果可能的话,在不将index.html转换为index.PHP文件的情况下,我应该将PHP代码放在哪里

如果您希望解释php代码而不是显示php代码,那么在某种程度上,响应该文件请求的http服务器必须知道这意味着要开始解释代码。通常使用文件扩展名
.php
完成

您当然可以配置http服务器,以便在请求
.html
文件时执行相同的操作。但这将是一个非常糟糕的方法。不要这样做

因此,请将您的文件重命名为
index.php
,然后继续。它是最简单、透明和健壮的

如果你关心你的URL的外观,那么看看“重写”和“漂亮的URL”,它们允许使用像
http://my.server/index
或干脆
http://my.server/
同样的。在http服务器内部重写时,需要注意在内部将此类请求映射到
index.php
文件,而无需更改用户浏览器中可见的URL


然而,有一件事我想在这里提到,因为我经常看到初学者陷入这个问题:如果你的
php
代码只包含对发布表单的处理,那么可能是验证和存储,那么绝对没有理由将其与html标记放在同一个文件中!相反,不要!使用单独的文件进行处理,处理后将浏览器转发到另一个视图。只有当您需要在html标记中插入动态值时,将php嵌入到标记中才有意义。这正是php最初创建的目的,您应该通过将静态html文件转换为php文件(
.php
名称扩展名)来实现这一点

如果您希望解释php代码而不是显示php代码,那么在某种程度上,响应该文件请求的http服务器必须知道这意味着要开始解释代码。通常使用文件扩展名
.php
完成

您当然可以配置http服务器,以便在请求
.html
文件时执行相同的操作。但这将是一个非常糟糕的方法。不要这样做

因此,请将您的文件重命名为
index.php
,然后继续。它是最简单、透明和健壮的

如果你关心你的URL的外观,那么看看“重写”和“漂亮的URL”,它们允许使用像
http://my.server/index
或干脆
http://my.server/
同样的。在http服务器内部重写时,需要注意在内部将此类请求映射到
index.php
文件,而无需更改用户浏览器中可见的URL


然而,有一件事我想在这里提到,因为我经常看到初学者陷入这个问题:如果你的
php
代码只包含对发布表单的处理,那么可能是验证和存储,那么绝对没有理由将其与html标记放在同一个文件中!相反,不要!使用单独的文件进行处理,处理后将浏览器转发到另一个视图。只有当您需要在html标记中插入动态值时,将php嵌入到标记中才有意义。这正是php最初创建的目的,您应该通过将静态html文件转换为php文件(
.php
名称扩展名)来实现这一点

其实没那么难

1) 在开始表单标签中,确保您有一个操作(收集数据并发送电子邮件的处理页面)

html页面示例

<form action="contact-proc.php" method="post" name="contact" id="contact">
<table border="0" align="center" cellpadding="5" cellspacing="0">
  <tr>
    <td colspan="2" height="5px"></td>
  </tr>
  <tr>
    <td><div align="right"><strong><font color="#FF0000">*</font>Name:</strong></div></td>
    <td><input name="name" type="text" size="35" /></td>
  </tr>
  <tr>
    <td><div align="right"><strong><font color="#FF0000">*</font>E-Mail Address:</strong></div></td>
    <td><input name="email" type="text" size="35" /></td>
  </tr>
  <tr>
    <td><div align="right"><strong><font color="#FF0000">*</font>Message:</strong></div></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2"><textarea name="comments" cols="50" rows="10" wrap="virtual"></textarea></td>
  </tr>
  <tr>
    <td align="center"><div align="center"><input name="Submit" type="submit" value="Send" /></div></td>
  </tr>
</table>
</form>
其中
$\u POST['name']
$\u POST['email']&
$\u POST['comments']
html
页面上表单元素的名称。您可以更改它们以匹配您的表单

在您的处理页面上,您可以包含一些信息,让访问者知道已经发送了电子邮件。像

<div align="center">Thank you <?php echo $_POST['name'] ?>.<br>
Your email has been sent. We will be in touch with you soon.
</div>
谢谢。
您的电子邮件已发送。我们将很快与您联系。

当然,您需要进行一些验证,以确保提交了空表单和其他无意义的内容。但这是一个不同于这里所问问题的问题。

其实没那么难

1) 在开始表单标签中,确保您有一个操作(收集数据并发送电子邮件的处理页面)

html页面示例

<form action="contact-proc.php" method="post" name="contact" id="contact">
<table border="0" align="center" cellpadding="5" cellspacing="0">
  <tr>
    <td colspan="2" height="5px"></td>
  </tr>
  <tr>
    <td><div align="right"><strong><font color="#FF0000">*</font>Name:</strong></div></td>
    <td><input name="name" type="text" size="35" /></td>
  </tr>
  <tr>
    <td><div align="right"><strong><font color="#FF0000">*</font>E-Mail Address:</strong></div></td>
    <td><input name="email" type="text" size="35" /></td>
  </tr>
  <tr>
    <td><div align="right"><strong><font color="#FF0000">*</font>Message:</strong></div></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2"><textarea name="comments" cols="50" rows="10" wrap="virtual"></textarea></td>
  </tr>
  <tr>
    <td align="center"><div align="center"><input name="Submit" type="submit" value="Send" /></div></td>
  </tr>
</table>
</form>
其中
$\u POST['name']
$\u POST['email']&
$\u POST['comments']
html
页面上表单元素的名称。您可以更改它们以匹配您的表单

在您的处理页面上,您可以包含一些信息,让访问者知道已经发送了电子邮件。像

<div align="center">Thank you <?php echo $_POST['name'] ?>.<br>
Your email has been sent. We will be in touch with you soon.
</div>
谢谢。
您的电子邮件已发送。我们将很快与您联系。

当然,您需要进行一些验证,以确保提交了空表单和其他无意义的内容。但是,这与这里提出的问题不同。

但是我的页面加载速度会慢吗?因为页面必须被解释为php文件而不是html文件?是的,它的交付速度会慢于静态html文件。但是如果你想让你的php代码被解释,那就没有办法了。文件的html部分不会被解释,因此不会造成性能损失。只有php部分会被解释,这是你无法绕过的,不管你如何调用该文件。是否可以创建一个单独的php文件并从标题中的html文件链接到该文件?这取决于php代码的功能。我在上面的答案上加了一些东西。但很难用你模糊的描述来具体说明细节。你