我使用this sample by CSS-Tricks创建了一个简单的联系表单。在我自定义contactthanks.php
页面(确认成功提交表单)之前,它工作得很好。现在,每当用户点击“提交”时,都会将其重定向到错误页面。
实时网页:alookat.org/contact.html(随意测试表单)。
以下是contactengine.php
在我编辑之后破坏了东西。我删除了电话输入并将其替换为网站。我也重新调整了输入。
<?php
$EmailFrom = "info@example.com";
$EmailTo = "my.personal.email.was.here.for.testing@gmail.com";
$Subject = "Thanks for contacting us";
$Name = Trim(stripslashes($_POST['Name']));
$Email = Trim(stripslashes($_POST['Email']));
$Website = Trim(stripslashes($_POST['Website']));
$Message = Trim(stripslashes($_POST['Message']));
// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
exit;
}
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Website: ";
$Body .= $Website;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=php\contactthanks.php\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
感谢您的帮助。谢谢你的阅读。
答案 0 :(得分:2)
使用
<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
将用户移动到新页面是一种非常讨厌的方式。
您使用的是PHP,因此请改用header()
函数。
header('Location: php/contactthanks.php');
exit;
这样你只需发送一个标题,告诉浏览器转到另一个页面,而不是整个html页面。
您可以在使用<meta http-equiv...>
标记