-4

我的联系表单 html 页面的 html 编码,下面是 php 代码

<form name="form1" method="post" action="contact.php" id="contactform">
                                <table width="100%" border="0" cellspacing="1" cellpadding="3">
                                    <tr>
                                        <td><input name="name" type="text" id="name" ONFOCUS="clearDefault(this)" value="Name" size="90" style="background: #DAEDFF; border:1px solid #DAEDFF; border-radius:3px; height: 25px;"></td>
                                    </tr>
                                    <tr>
                                        <td><input name="customer_mail" type="text" value="Email" ONFOCUS="clearDefault(this)" id="customer_mail" size="90" style="background: #DAEDFF; border:1px solid #DAEDFF; border-radius:3px; height: 25px;"></td>
                                    </tr>
                                    <tr>
                                        <td width="82%"><input name="subject" type="text" value="Subject" ONFOCUS="clearDefault(this)" id="subject" size="90" style="background: #DAEDFF; border:1px solid #DAEDFF; border-radius:3px; height: 25px;"></td>
                                    </tr>
                                    <tr>
                                        <td><textarea name="detail" cols="90" rows="8" id="detail" style="background: #DAEDFF; border:1px solid #DAEDFF; border-radius:3px;"></textarea></td>
                                    </tr>
                                    <tr>
                                        <td style="padding-left: 530px;"><input type="submit" name="Submit" value="Send" style="background: #1B99E8; border: 1px solid #1B99E8; color: #ffffff; border-radius:3px;"></td>
                                    </tr>
                            </table>
                        </form>

联系人.php 文件

<?php

$subject        =   $_POST['subject'];
$detail         =   $_POST['detail'];
$customer_mail  =   $_POST['customer_mail'];
$name           =   $_POST['name'];

// Contact subject
$subject ="$subject"; 

// Details
$message="$detail";

// Mail of sender
$mail_from="$customer_mail"; 

// From 
$header="from: $name <$mail_from>";

// Enter your email address
$to ='it@reverseinformatics.com';
$send_contact=mail($to,$subject,$message,$header);

// Check, if message sent to your email 
// display message "We've recived your information"
if($send_contact){
echo '<script language="javascript">confirm("We have received your request, our team will contact you shortly.")</script>';
echo '<script language="javascript">window.location = "contact.html"</script>';
}
else {
echo '<script language="javascript">confirm("Oops Sorry for the inconvinience.")</script>';
echo '<script language="javascript">window.location = "contact.html"</script>';
}
?>

以上是我的代码,请帮助我克服我的问题,因为我已经在网站上托管,它在我的本地服务器上运行良好,但在网站上无法运行

4

2 回答 2

0

我猜你在window.location = "contact.html"部分的代码有问题。如果要重定向到此页面,请尝试提供绝对路径。您也可以尝试window.location.hrefwindow.open。请注意window.open 将在新窗口中打开它。

于 2013-05-14T10:54:13.770 回答
0

很多人在使用“联系我们”表单时也会遇到一个非常常见的错误。

// Mail of sender
$mail_from="$customer_mail"; 

这将破坏 SPF 并导致 DMARC 失败,如果您使用的邮件服务器启用了 DMARC,您将永远不会收到某些人的邮件。

由于 DMARC 是一个更新的协议,许多用于联系我们表单的旧的千篇一律的代码 - 没有考虑到这一点。

您可以在此处阅读更多相关信息:“DMARC - 联系表噩梦”

建议的解决方法是:

$mail_from='it@reverseinformatics.com';
$subject ="$subject" .  $_POST['customer_mail']; 

这样 - 您可以避免文章中的问题概述。您将无法快速点击“回复”按钮,但至少您会收到那些启用了 DMARC 的客户的电子邮件。

于 2016-04-05T16:32:21.693 回答