将PHP代码放在HTML文件中的位置(对于联系人表单)?

问题描述:

我有一个html文件(即index.html)。我有我的联系表格(即名称,电子邮件等字段)的HTML代码。如果可能的话,我怎么把index.html中的index.html放到index.php文件中呢?将PHP代码放在HTML文件中的位置(对于联系人表单)?

+0

请向我们展示您的表单的'html'代码。 – Kuya

如果你想要解释php代码而不是显示,那么HTTP服务器应答该文件的请求必须知道它是否意味着开始解释代码。通常使用文件扩展名.php完成。

你肯定可能配置HTTP服务器,这样当被请求.html文件同样会被执行。但这将是一个非常糟糕的做法。不要这样做。

因此,将您的文件重命名为index.php并与此相符。这是最简单,透明和强大。

如果您担心您的网址的外观,然后看看“改写”和“漂亮网址”,它允许使用的URL像http://my.server/index或者干脆http://my.server/的一样。在http服务器中重写需要注意将这些请求内部映射到index.php文件,而不必更改用户浏览器中可见的URL。

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

+0

但是我的页面加载速度不够慢,因为页面必须被解释为一个php文件而不是html文件? – cong01

+0

它会比静态HTML文件传递得慢,是的。但是如果你想让你的PHP代码被解释,那么就没有办法解决它了。该文件的html部分将不会被解释,因此没有性能损失。它只是被解释的php部分,并且没有什么可以解决的,但是您可以调用该文件。 – arkascha

+0

是否有可能创建一个单独的php文件并链接到我的头文件中的html文件? – cong01

其实并不难。

1)在您的开放表格标签<form action="contact-proc.php" method="post" name="contact" id="contact">请确保您有一个操作(收集数据并发送电子邮件的处理页面)。

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> 

2)创建一个页面来处理数据和发送电子邮件。在这种情况下contact-proc.php

3)在处理页面包括像这样...

<?php 
$email = '[email protected]'; 
$domain = 'your-domain-name'; // ie: google.com 
$strVisitorInfo = ''. 
"Customer Service Request from Your WebSite\r\n\r\n" . 
"Name : ".$_POST['name']."\r\n" . 
"E-Mail : ".$_POST['email']."\r\n" . 
"Comments : \r\n" . 
$_POST['comments']; 

$to = $Email; 
$subject = "Customer Service Request from Your WebSite"; 
$headers = 'From: [email protected]'.$domain . "\r\n" . 
'Reply-To: [email protected]'.$domain . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $strVisitorInfo, $headers); 
?> 

$_POST['name']$_POST['email'] & $_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> 

当然,你会想做一些验证,以确保提交空表格和其他废话。但是,这是一个与此处提出的问题不同的问题。

+0

谢谢,这帮了我很多。我只有一个问题,我将PHP文件放在目录中?如果我把它放到一个名为“PHP”的文件夹中,我将如何将它链接到HTML文件? 谢谢 – 2016-08-09 07:20:04

+0

PHP(处理)文件应该与您的html文件位于同一个目录中。但是,无论您将它放在哪里,只要确保表单操作链接正确指向它即可。 – Kuya