1

我创建了一个带有标准 html 表单的 contact.php 文件,但使用 PHP 来检索输入的信息并创建电子邮件。

该页面目前可以在我的一个网站上运行,但是当我复制了文件并且没有更改任何内容但浏览器将其注释掉时。

我已经在网上寻找了解决这个问题的方法,但我只能说这是服务器的问题,两个网站都在同一台服务器上,所以这不是问题。

我尝试按照某些人的建议将添加处理程序放入我的 htaccess 文件中,但这没有任何效果。

任何帮助,将不胜感激。

这是我的代码

$ToEmail = 'email@hotmail.co.uk'; 
$EmailSubject = 'Website Enquiry '; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/html;"; 
$MESSAGE_BODY = "<strong>Name:</strong> <br />".$_POST["yourname"]."<br>"; 
$MESSAGE_BODY .= "<strong>Email:</strong><br /> ".$_POST["email"]."<br>"; 
$MESSAGE_BODY .= "<strong>Phone Number:</strong> <br /> ".$_POST["Telephone-Number"]."<br>";
$heard = $_POST['heard'];
foreach($_POST['heard'] as $value) {
$heard_msg .= "$value, ";   
}
$MESSAGE_BODY .= "<strong>How they heard about us:</strong><br /> ".$heard_msg."<br>";
$MESSAGE_BODY .= "<strong>Enquiry:</strong> <br /> ".nl2br($_POST["Message"])."<br>"; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
echo '<h1>Thanks for you Enquiry</h1>'; 
echo '<p>Please carry on browsing our site</p>'; 
echo '<a href="http://www.website.com/"> Return to home page</a>';

全部在以'php'开头的php if语句中

4

2 回答 2

5

浏览器不应该注释掉 PHP,他们甚至不应该看到 PHP。

最有可能的是,您遇到的情况是<?PHP 引擎没有解析并传递给浏览器。然后浏览器将其视为未知标签并忽略它。

解决方案是:

  1. 不要使用短标签,因为并非所有 PHP 安装都启用它们。如果您将<? some code其更改为<?php some code.
  2. 确保您尝试在支持 PHP 的服务器上运行您的 PHP。
于 2013-05-16T08:31:26.170 回答
0

您的托管服务器可能不支持 PHP,这就是它被解释为注释的原因。

看看你的包,看看它是否应该支持它。

于 2013-05-16T08:31:03.610 回答